Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Программа в паскале связанная с массивом


Автор: denis2010 20.1.2010, 23:16
Вряд выписано N чисел(не по-порядку), которые записанны в массив x. Есть лист бумаги с окошком длинной m и этот листок двигают по этому массиву. надо бы программу, которая нашла бы, на каком участке длинной m самая большая сумма. n и m надо вводить?

Автор: ~FoX~ 21.1.2010, 10:38
denis2010, http://forum.vingrad.ru/forum/Vingrad-help-center.html

Автор: ClrScr 22.1.2010, 19:44
ну вот, вроде работает....

Код

uses crt;
var a:array[1..1000] of integer;
    i,m,max,k,j,x,n:integer;
      procedure input;
      begin
      for i:=1 to n do
      begin
      a[i]:=random(100);
      write(a[i],' ');
      end;
      end;
begin
write('Введите размерность массива = ');
read(n);
x:=1;
clrscr;
input;
writeln;
write('Длина окошка (<',n,') = ');
readln(m);
for i:=1 to m do
max:=max+a[i];
for i:=1 to n-m do
begin
k:=0;
for j:=i to i+m-1 do
k:=k+a[j];
if k>max
then
begin
max:=k;
x:=i;
end;
end;
writeln('Самая большая сумма на участке с ',x,' по ',x+m-1,' элементы включительно');
writeln('Эта сумма равна ',max);
end.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)