Студенты факультетов ТГПИ объединяйтесь!!!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Задачи по Pascal

Сообщений 1 страница 30 из 30

1

Ребята,пожалуйста помогите написать несколько программ на паскале!Вот первая:
Дан одномерный числовой массив,состоящий из известного количества элементов.Для этого массива найти количество элементов,которые при целочисленном делении на 9 дают остаток 2,и сумму всех остальных элементов.

2

Ну если я правильно понял условие, то вот программный код. Он не идеален, так что можете вносить свои изменения))). В программе через Enter вводятся 5 элементов. Если остаток от деления равен 2, то счетчик увеличивается на 1(k), тут накапливаем количество чисел которые делятся на 9 с остатком 2. Не уверен что надо сравнивать a>9, но так числа сто процентов будут больше 9)))). Если это не делать то 2 будет считаться числом которое делится не 9 с остатком 2 вроде))). 
В противном же случае просто начинаем суммировать оставшиеся элементы.)))

program jekson;
uses crt;
const n=4;
var b,i,k,k2:integer;
var a:array[0..n] of integer;
begin
for i:=0 to n do                 
readln(a[i]);
                //вводим массив
k:=0;k2:=0;       
// присваиваем 0 счетчикам, чтобы небыло неразберихи с какого числа начинаем считать.
for i:=0 to n do begin
b:=a[i] mod 9;
if (a[i]>9) and (b=2) then k:=k+1     
  // само условие с накоплением
else k2:=k2+a[i];                             
    // суммирование оставщихся элементов
end;
writeln('4islo elementov s ostatkom 2= ',k);
writeln('Summa ostavshixsy elementov = ',k2);
readkey;
end.

3

Это не правильно:

rus_LAN написал(а):

else k2:=k2+1;

если условие не выполняется то сумма оставшихся д.б.
имхо, так д.б.
k2:=k2+a[i]

4

Ну дык и условие мона изменить на
if a[i] mod 9=2 then k:=k+1

5

Программа не запускается!

6

JeKsoN написал(а):

Программа не запускается!

Ошибка в 17 строке.
Че пишет? Какая ошибка?

ЗЫ. Извини телепатор потерял.

7

Код:
var
a:array of integer;
s,kol, i,n:integer;
begin
randomize;
s:=0;
kol:=0;
n:=10;
setlength(a,n);

for i:=0 to n do
a[i]:=random(98);

for i:=0 to n do
write(a[i]:4);
writeln;

for i:=low(a) to high(a) do
if a[i] mod 9=2 then
inc(kol)
else
s:=s+a[i];
end;

writeln('kol po usloviu =', kol:4);

writeln('summa ne po usloviu =', s:4);
readln;
end.

Это в консоли Делфы (тот же Паскаль).
Массив забивается 11 случайными числами от 0..97.
Затем выводится.
Потом выполняется поставленное условие, и в конце выводится количество и сумма.

ЗЫ. чисто ради интереса писал. мож кому и надо бут еще.

8

Не запускается!Пишет: BEGIN expected

9

JeKsoN написал(а):

Не запускается!Пишет: BEGIN expected

пропустил значит begin.

какой пример юзаешь?

10

В 8 посте когда идёт проверка условия нужно или добавить Begin или убрать END!!

11

Всё равно ошибку выдает!Помоги пожалуйста!Исправь ошибку и выложи здесь рабочую!Но это ещё пол беды!Ведь есть ещё 4 подобные задачи!С таким же условием,но разным решением!:(

12

Я бы исправил,но я в этом полный Ламо!А задачи нужно решить!

13

неЗНАЮ чтотам у тя случилось.... код указаный в  посте №2 уже работает(исправлен)

14

Ура!Спасибо!Всё запустилось!:)

15

Задача #2То же самое условие!Надо переставить элементы массива в порядке возрастания,найти разность между наибольшим и наименьшим элементами массива!
Заранее спасибо!

16

JeKsoN написал(а):

Ведь есть ещё 4 подобные задачи!

постить будешь их?

ЗЫ. на досуге помозговать))

17

У меня целая методичка этой хрени!:)

18

JeKsoN написал(а):

У меня целая методичка этой хрени!

если в эл. виде скинь на мыло:) - vasizmax@mail.ru или залей куда-нить(это б вапщеп классно было)
если бумага, то кто авторы, название, издательство)

ЗЫ. интересно посмотреть просто

19

Задача 3! Тоже самое условие!Найти сумму элементов массива,стоящих на четных местах,и произведение элементов,стоящих на местах, номер которых кратен 3.
****************
Задача 4.Опять то же условие. Найти сумму четных элементов массива и количество нечетных элементов,поменятьместами первый и последний элементы массива.
****************
И наконец Задача 5!Условие такое же.
Надо Переставить элементы массива в порядке убывания и найти сумму
элементов массива, находящихся между наибольшим и наименьшим элементами,не включая их самих.
**************
P.S.Завтра в Word'e наберу методичку и выложу!

20

Убедительная просьба:
Для каждой задачи/проблемы открывать новую ветку, что бы не создавать свалку в одной.

ЗЫ. 2JeKsoN: за ранее спс))

21

Задача 3.

Код:
program jekson3;
uses crt;
const n=6;
var b,i,k,k2:integer;
var a:array[0..n] of integer;
begin
for i:=0 to n do                  
readln(a[i]);                 //вводим массив 
k:=0;  //счётчик суммы
k2:=1;        // присваиваем 1 , чтобы произвидение не обнулилось.
for i:=0 to n do begin
if i mod 2=0  then k:=k+a[i] ;       
if i mod 3=0  then k2:=k2*a[i] ;      
end;
writeln('сумма элементов стоящих на чётных позициях= ',k);
writeln('Произведение элеменов позиции которых кратны 3 = ',k2);
readkey;
end.

Вроде бы так))

Отредактировано LALALA (2007-05-04 12:36:16)

22

Задача 4

Код:
program jekson4;
uses crt;
const n=6;
var b,i,k,k2:integer;
var a:array[0..n] of integer;
begin
for i:=0 to n do                  
readln(a[i]);                 //вводим массив 
k:=0;  //счётчик суммы
k2:=0;        // Счётчик кол-во элементов
for i:=0 to n do begin
if i mod 2=0  then k:=k+a[i] ;       
if i mod 3=1  then k2:=k2+1 ;      
end;
writeln('Сумма чётных элементов = ',k);
writeln('Колво нечётных элементов = ',k2);
readkey;
end.

Отредактировано LALALA (2007-05-05 00:52:38)

23

Задача 5.

Код:
program jekson;
uses crt; const n=4;
var b,i,j,k:integer;
var a:array[0..n] of integer;
begin
for i:=0 to n do
readln(a[i]);
k:=0;
for j:=0 to n do
begin
 for i:=0 to n-1 do
 if a[i]<a[i+1] then begin
 b:=a[i];
 a[i]:=a[i+1];
 a[i+1]:=b;
 end;
end;
for i:=1 to n-1 do
k:=k+a[i];
writeln;
for i:=0 to n do
write(a[i],' ');
writeln;write('Summa elementov = ',k);
readkey;end.

24

Ещё Задача 2!16 пост...

25

Задача 2 делается аналогично 5:)

Код:
program jekson;
uses crt; const n=4;
var b,i,j,k:integer;
var a:array[0..n] of integer;
begin
for i:=0 to n do
readln(a[i]);
k:=0;
for j:=0 to n do
begin
 for i:=0 to n-1 do
 if a[i]>a[i+1] then begin
 b:=a[i];
 a[i]:=a[i+1];
 a[i+1]:=b;
 end;
end;
k:=a[n]-a[0];
writeln;
for i:=0 to n do
write(a[i],' ');
writeln;write('Raznost = ',k);
readkey; end.

26

3 задача

Код:
program jekson;
uses crt;
const n=6;
var b,i,k,k2:integer;
var a:array[1..n] of integer;

begin
for i:=1 to n do
readln(a[i]);
k:=0;k2:=1;
for i:=1 to n do begin
if i mod 2=0 then k:=k+a[i];
if i mod 3=0 then k2:=k2*a[i];

end;

writeln;write('Summa 4isel poziciy kotorix 4itnay= ',k);
writeln;write('Proizvedenie 4isel poziciy kotorix kratna 3 = ',k2);
readkey;
end.

27

LАLАLА,4 я задача считает неправильно!+ немножко не доделал!:)

28

Задача 4.

Код:
program jekson;
uses crt;
const n=5;
var b,i,k,k2:integer;
var a:array[0..n] of integer;
begin
for i:=0 to n do
readln(a[i]);
k:=0;k2:=0;
for i:=0 to n do begin
if a[i] mod 2=0 then k:=k+a[i];
if a[i] mod 2=1 then k2:=k2+1;
end;
b:=a[0];a[0]:=a[n];a[n]:=b;
write('Pomenyli mestami');
for i:=0 to n do
write(a[i]:2);
writeln;write('Summa 4etnix 4isel = ',k);
writeln;write('Koli4estvo Ne4etnix = ',k2);
readkey;
end.

29

var
a:array[1..100 ,1..100] of integer;
i,j,n:integer;
max,min:integer;
otv:integer;
buf:integer;
begin
repeat
write('n= ');
readln(n);
until (n>=4);
for i:=1 to n do
for j:=1 to n do
begin
write('a[',i,',',j,']= ');
readln(a[i,j]);
end;
max:=a[1 ,1];
for j:=2 to n do
if (a[1 ,j]>max) then max:=a[1,j];
min:=a[1 ,4];
for i:=2 to n do
if (a[i,4 ]<min) then min:=a[i,4];
otv:=max-min;
writeln('raznica: ',otv);
for i:=n downto 1 do
write(a[i,3],' ');
readln;
end.

30

Вот такая проблема:
После строки repeat
надо вставить функцию перестановки элементов в обратном порядке,в 3-й строке!
Help!:(