begin Randomize; writeln('Исходный массив'); for i := 1 to n do begin a[i] := Random(100) - 50; write(a[i]:6); if a[i] < 0 then a[i] := sqr(i) end; writeln; writeln('Результирующий массив'); for i := 1 to n do write(a[i]:6); writeln end.
begin Assign(f, 'output.dat'); Rewrite(f); writeln('Вводите данные, окончание число 7777'); repeat read(k); if k<>7777 then writeln(f,k) until k=7777; Close(f); Reset(f); s := 0; p := 1; writeln; while not Eof(f) do begin readln(f, k); write(k:4); s := s + k; if k <> 0 then p := p * k end; Close(f); writeln; writeln('Сумма= ', s, ', произведение= ', p) end.
n = 15;
var
i: integer;
a: array[1..n] of integer;
begin
Randomize;
writeln('Исходный массив');
for i := 1 to n do
begin
a[i] := Random(100) - 50;
write(a[i]:6);
if a[i] < 0 then a[i] := sqr(i)
end;
writeln;
writeln('Результирующий массив');
for i := 1 to n do write(a[i]:6);
writeln
end.
Тестовое решение:
Исходный массив
3 37 40 17 20 -12 -27 4 34 -1 9 42 -6 -36 28
Результирующий массив
3 37 40 17 20 36 49 4 34 100 9 42 169 196 28
f: Text;
k: integer;
s, p: longint;
i: integer;
begin
Assign(f, 'output.dat');
Rewrite(f);
writeln('Вводите данные, окончание число 7777');
repeat
read(k);
if k<>7777 then writeln(f,k)
until k=7777;
Close(f);
Reset(f);
s := 0;
p := 1;
writeln;
while not Eof(f) do
begin
readln(f, k);
write(k:4);
s := s + k;
if k <> 0 then p := p * k
end;
Close(f);
writeln;
writeln('Сумма= ', s, ', произведение= ', p)
end.
Вводите данные, окончание число 7777
3
6
-4
6
2
-3
-4
2
6
0
5
-1
7777
3 6 -4 6 2 -3 -4 2 6 0 5 -1
Сумма= 18, произведение= 622080