Сгенерировать случайным образом 12 чисел из отрезка [-8;8] вывести их на экран и подсчитать среди них сумму нечетных. В паскале!
Образец:
program summa;
var x,i,s: integer;
begin
randomize;
s:=0;
for i:=1 to 11 do
begin
x:=-4+random(13);
write(x,'; ');
if x>3 then s:=s+x;
end;
writeln();
writeln('сумма чисел, которые больше 3, равна ',s);
end.
function Avg(a:array[,] of integer):real;
begin
var s:=0; var k:=0;
foreach var e:integer in a do
if e>0 then begin s+=e; Inc(k) end;
if k>0 then Result:=s/k else Result:=1e-100;
end;
begin
var A:=MatrixRandom(4,4,-50,50); Writeln(A);
Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
var B:=MatrixRandom(5,5,-30,30); Writeln(B);
Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
var C:=MatrixRandom(4,5,-25,38); Writeln(C);
Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.
Тестовое решение:
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200
const
n=5;
type
Matrix=array[1..n,1..n] of integer;
procedure DummySchool(var a:Matrix);
begin
Writeln('Ввод элементов матрицы');
for var i:=1 to n do begin
Write(n,' элементов строки ',i,': ');
for var j:=1 to n do Read(a[i,j]);
end;
Writeln('Сформирована матрица ',n,'x',n);
for var i:=1 to n do begin
for var j:=1 to n do Write(a[i,j]:5);
Writeln
end
end;
begin
var B:Matrix;
DummySchool(B);
var sn:=0;
var sp:=0;
for var i:=1 to n do
for var j:=1 to n do
if B[i,j]<0 then sn+=B[i,j]
else
if B[i,j]>0 then sp+=B[i,j];
Writeln('Сумма отрицательных ',sn);
Writeln('Сумма положительных ',sp)
end.
Тестовое решение:
Ввод элементов матрицы
5 элементов строки 1: 6 23 -5 13 9
5 элементов строки 2: 42 0 -38 16 37
5 элементов строки 3: -5 -18 3 11 8
5 элементов строки 4: 9 13 -11 0 3
5 элементов строки 5: 19 -17 0 15 5
Сформирована матрица 5x5
6 23 -5 13 9
42 0 -38 16 37
-5 -18 3 11 8
9 13 -11 0 3
19 -17 0 15 5
Сумма отрицательных -94
Сумма положительных 232