Привет! Помогите, плиз, решить задачку Delphi. Мой творческий потенциал уже на "0", а нужно очень. ПОЖАЛУЙСТА.
Массив.
Из данного массива А={a1, ... an}, (n=<45) получить массив В, каждый элемент которого равен сумме трёх послекдовательных элементов массива А. В полученном массиве на первое место поставить r=max=bi, остальные элементы сдвинуть вправо. Результат отпечатать.
Исходные данные для отладки: n=15, A{-3; 0,02; 1,4; 5,2; 6,15; 1,17; -0,25; 0; 3,82; 16; 4,82; -11; 0,04; -1,18; 5}.
Помогите, плиииззз
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
-
- Сообщения: 35
- Зарегистрирован: 02 окт 2007, 14:43
Код: Выделить всё
var a:array[1..45] of real;
b:array[1..15] of real;
i,j,k,n,razmb,nmax:integer;
y,max:real;
begin
writeln('vvedite razmernost massiva');
readln(n);
razmb:=n div 3;
for i:=1 to n do begin
write('a[',i,']=');
readln(a[i]);
end;
k:=1;
for i:=1 to n do begin
b[k]:=a[i]+a[i+1]+a[i+2];
i:=i+2; k:=k+1;
end;
max:=b[1]; nmax:=1;
for i:=2 to razmb do
if b[i]>max then begin max:=b[i]; nmax:=i;
end;
for i:=nmax downto 2 do begin
y:=b[i-1];
b[i-1]:=b[i];
b[i]:=y;
end;
for i:=1 to razmb do writeln(b[i]:0:3);
readln;
end.
в B будут записаны предыдущие, т.е.
если A[20] то B[6], главное- что это не ошибка.
Так что держите


----на Паскале написано но под делфи переделать думаю не сложно будет
Спасибо ОГРОМНОЕ! 
Я попробую.

Я попробую.
