Ребята,пожалуйста помогите написать несколько программ на паскале!Вот первая:
Дан одномерный числовой массив,состоящий из известного количества элементов.Для этого массива найти количество элементов,которые при целочисленном делении на 9 дают остаток 2,и сумму всех остальных элементов.
Задачи по Pascal
Сообщений 1 страница 30 из 30
Поделиться12007-05-02 16:18:36
Поделиться22007-05-02 17:58:23
Ну если я правильно понял условие, то вот программный код. Он не идеален, так что можете вносить свои изменения))). В программе через 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.
Поделиться32007-05-02 18:53:48
Это не правильно:
else k2:=k2+1;
если условие не выполняется то сумма оставшихся д.б.
имхо, так д.б.
k2:=k2+a[i]
Поделиться42007-05-02 19:02:58
Ну дык и условие мона изменить на
if a[i] mod 9=2 then k:=k+1
Поделиться52007-05-02 21:17:55
Программа не запускается!
Поделиться62007-05-02 21:21:04
Программа не запускается!
Ошибка в 17 строке.
Че пишет? Какая ошибка?
ЗЫ. Извини телепатор потерял.
Поделиться72007-05-02 21:50:13
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.
Затем выводится.
Потом выполняется поставленное условие, и в конце выводится количество и сумма.
ЗЫ. чисто ради интереса писал. мож кому и надо бут еще.
Поделиться82007-05-03 19:11:35
Не запускается!Пишет: BEGIN expected
Поделиться92007-05-03 19:22:19
Не запускается!Пишет: BEGIN expected
пропустил значит begin.
какой пример юзаешь?
Поделиться102007-05-03 19:27:07
В 8 посте когда идёт проверка условия нужно или добавить Begin или убрать END!!
Поделиться112007-05-03 21:14:46
Всё равно ошибку выдает!Помоги пожалуйста!Исправь ошибку и выложи здесь рабочую!Но это ещё пол беды!Ведь есть ещё 4 подобные задачи!С таким же условием,но разным решением!
Поделиться122007-05-03 21:18:17
Я бы исправил,но я в этом полный Ламо!А задачи нужно решить!
Поделиться132007-05-03 21:29:14
неЗНАЮ чтотам у тя случилось.... код указаный в посте №2 уже работает(исправлен)
Поделиться142007-05-03 23:16:42
Ура!Спасибо!Всё запустилось!
Поделиться152007-05-03 23:20:13
Задача #2То же самое условие!Надо переставить элементы массива в порядке возрастания,найти разность между наибольшим и наименьшим элементами массива!
Заранее спасибо!
Поделиться162007-05-03 23:20:35
Ведь есть ещё 4 подобные задачи!
постить будешь их?
ЗЫ. на досуге помозговать))
Поделиться172007-05-03 23:36:28
У меня целая методичка этой хрени!
Поделиться182007-05-03 23:42:35
У меня целая методичка этой хрени!
если в эл. виде скинь на мыло:) - vasizmax@mail.ru или залей куда-нить(это б вапщеп классно было)
если бумага, то кто авторы, название, издательство)
ЗЫ. интересно посмотреть просто
Поделиться192007-05-04 00:45:04
Задача 3! Тоже самое условие!Найти сумму элементов массива,стоящих на четных местах,и произведение элементов,стоящих на местах, номер которых кратен 3.
****************
Задача 4.Опять то же условие. Найти сумму четных элементов массива и количество нечетных элементов,поменятьместами первый и последний элементы массива.
****************
И наконец Задача 5!Условие такое же.
Надо Переставить элементы массива в порядке убывания и найти сумму
элементов массива, находящихся между наибольшим и наименьшим элементами,не включая их самих.
**************
P.S.Завтра в Word'e наберу методичку и выложу!
Поделиться202007-05-04 01:31:20
Убедительная просьба:
Для каждой задачи/проблемы открывать новую ветку, что бы не создавать свалку в одной.
ЗЫ. 2JeKsoN: за ранее спс))
Поделиться212007-05-04 12:35:51
Задача 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)
Поделиться222007-05-04 12:44:25
Задача 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)
Поделиться232007-05-04 14:11:12
Задача 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.
Поделиться242007-05-04 15:53:11
Ещё Задача 2!16 пост...
Поделиться252007-05-04 16:29: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.
Поделиться262007-05-04 17:52:15
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.
Поделиться272007-05-05 00:10:23
LАLАLА,4 я задача считает неправильно!+ немножко не доделал!
Поделиться282007-05-05 23:30:18
Задача 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.
Поделиться292007-07-04 16:30:37
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.
Поделиться302007-07-04 16:32:48
Вот такая проблема:
После строки repeat
надо вставить функцию перестановки элементов в обратном порядке,в 3-й строке!
Help!