Страница 1 из 1

Помогите, плиииззз

Добавлено: 21 ноя 2007, 11:10
Ксюшуня
Привет! Помогите, плиз, решить задачку 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}.

Re: Помогите, плиииззз

Добавлено: 21 ноя 2007, 11:56
somebody_now

Код: Выделить всё

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.
маленькое уточнение, если число элементов массива А не кратно 3,то
в B будут записаны предыдущие, т.е.
если A[20] то B[6], главное- что это не ошибка.
Так что держите :) и развивайте свой творческий потенциал :D
----на Паскале написано но под делфи переделать думаю не сложно будет

Re: Помогите, плиииззз

Добавлено: 21 ноя 2007, 12:01
Ксюшуня
Спасибо ОГРОМНОЕ! :p
Я попробую. ;)