Помощь - Поиск - Пользователи - Календарь
Полная версия: Одномерный массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Richard
Ещё раз обращаюсь к просьбе решить вот это небольшое задание:
В одномерном массиве, состоящем из n целых элементов, вычислить:
1)количество положительных элементов массива:
2)сумму элементов массива, расположенных после последнего элемента равного нулю.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающихся от максимального более чем на 20%, а потом все остальные.
Вот код на первые два задания

program mass;
uses crt;
var a: array [1..100] of integer;
i, j, k, n, s: integer;
begin
clrscr;
writeln ('Input number of elements');
readln (n);
k:=0;
for i:=1 to n do
begin
readln (a[i]);
if a[i]>0 then k:=k+1;
if a[i]=0 then j:=i;
end;
s:=0;
for i:=j to n do
s:=s+a[i];
writeln ('Numper of positive elements ',k);
writeln ('Summ ',s:5);
readln;
end.

Но вот как преобразовать не знаю.
Артемий
Продолжи:
var d:array [1..100] of integer;
m,x,c:byte = 1;
...
For i:=1 to n do begin
if (100-((a[i] div max)*100)<=20) or (a[i]=max) then begin
d[c]:=a[i];
a[i]:=0;
inc©;
end; end;



for i:=(n-(c-1))+1 to n do begin
a[i]:=d[m];
inc(m);
end;
Артемий
Max сам находи. blum.gif (делал без паскаля,не бей за недочеты!)только перед заполнением массива а в b очисти массив а от нулей!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.