Решите следующие задачи в Pascal:
Ввести массив и распечатать его в обратной последовательности в строку.
Ввести массив, заменить все отрицательные элементы нулями и распечатать только номера нулевых элементов.
Подсчитать отдельно среднее арифметическое отрицательных элементов массива и среднее арифметическое положительных элементов массива и вывести два этих числа на печать.
Answers & Comments
1.
const n=10;
var a:array [1..n] of integer;
i:integer;
begin
for i:= 1 to n do read (a[i]);
write(' Массив: ');
for i:= 1 to n do write (a[i],' ');
writeln;
write('Массив в обратной последовательности: ');
for i:= n downto 1 do write (a[i],' ')
end.
2.
const n=10;
var a:array [1..n] of integer;
i,s:integer;
begin
for i:= 1 to n do read (a[i]);
write('Массив: ');
for i:= 1 to n do write (a[i],' ');
writeln;
write ('Номера нулевых элементов: ');
for i:= 1 to n do if a[i]<0 then
begin
a[i]:=0;
write(i,' ')
end
end.
3.
const n=10;
var a:array [1..n] of integer;
i,sp,kp,so,ko:integer;
begin
for i:= 1 to n do read (a[i]);
write('Массив: ');
for i:= 1 to n do write (a[i],' ');
writeln;
for i:= 1 to n do
begin
if a[i]>0 then
begin
sp:=sp+a[i];
kp:=kp+1
end;
if a[i]<0 then
begin
so:=so+a[i];
ko:=ko+1
end;
end;
writeln('Среднее арифметическое положительных элементов массива равно ',sp/kp:0:3);
writeln('Среднее арифметическое отрицательных элементов массива равно ',so/ko:0:3)
end.