Подсчитать суммы элементов массива с 1-го по 10-й - Pascal ABC

Формулировка задачи:

Само задание: В произвольном одномерном массиве из 30 элементов(массив сформировать и вывести) подсчитать суммы элементов с 1-го по 10-й, с 11-го по 20-й, с 21-го по 30-й и вывести массив этих сумм. Необходимо разбить программу на процедуры.
Var
  x: Array[1..30] of Integer;
  s: Array[1..3] of Integer;
  i: Byte;
  sum: Integer;
BEGIN
Randomize;
Writeln('Произвольный массив:');
For i:=1 to 30 do
begin
  x[i]:=Random(50);
  Write(x[i],' ');
end;
For i:=1 to 10 do
sum:=sum+x[i];
Writeln;
Writeln('Сумма элементов с 1 по 10: ',sum);
s[1]:=sum;
sum:=0;
For i:=11 to 20 do
sum:=sum+x[i];
Writeln('Сумма элементов с 11 по 20: ',sum);
s[2]:=sum;
sum:=0;
For i:=21 to 30 do
sum:=sum+x[i];
Writeln('Сумма элементов с 21 по 30: ',sum);
s[3]:=sum;
Writeln('Массив сумм:');
For i:=1 to 3 do
Write(s[i],' ');
Readln
END.

Код к задаче: «Подсчитать суммы элементов массива с 1-го по 10-й - Pascal ABC»

textual
const n=30;
type mas=array[1..n] of integer;
procedure vvod(var a:mas);
var i:byte;
begin
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=random(50);
  write(a[i]:4);
 end;
writeln;
end;
procedure summa(a:mas;var b:mas);
var i,j:byte;
begin
for i:=1 to 3 do
 begin
  b[i]:=0;
  for j:=(i-1)*(n div 3)+1 to i*(n div 3) do
  b[i]:=b[i]+a[j];
 end;
writeln('Массив сумм третей');
for i:=1 to 3 do
write(b[i]:4);
end;
var a,b:mas;
    i:byte;
begin
randomize;
vvod(a);
summa(a,b);
end.

7   голосов, оценка 3.857 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы