Нужна по информатике за 11 класс по теме массивы в оценка за ! 100 ! 1)(в паскале)дана матрица размера м x n.в каждой ее строке найти количество отрицательных элементов и вывести результаты на экран с указанием номера строки. 2)дан двумерный массив.определить среднее арифметическое элементов главной диагонали массива. будьте добры,хотя бы одну
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в матрице:');
var n:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Rows.Select((x,r)->(x.Where(q->q<0).Count,r));
foreach var x in b do Write(x[1]+1,')',x[0],' ')
end.
Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
40 50 4 44 10 13 39 5
10 -41 -9 38 27 -9 34 9
8 29 37 -18 13 -41 23 -8
15 -49 -27 -31 -22 -4 46 -31
-36 36 34 -43 -33 -23 -24 -6
1)0 2)3 3)3 4)6 5)6
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',m,'] ***');
var a:=MatrRandom(m,m,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=0;
for var i:=0 to m-1 do s:=s+a[i,i];
Writeln('Ср.арифметическое равно ',s/m)
end.
Пример
Количество строк/столбцов в матрице: 5
*** Исходная матрица [5,5] ***
10 47 -5 -37 30
44 39 1 24 46
47 6 -26 -32 -16
-8 -49 18 15 22
4 4 -48 -36 -14
Ср.арифметическое равно 4.8
var m,n,i,j,col:integer;
ar:array[1..100,1..100] of integer;
begin
write('строки : '); read(m);
write('столбцы : '); read(n);
for i:=1 to m do begin
write(i,': ');
for j:=1 to n do begin
read(ar[i,j])
end;
end;
for i:=1 to m do begin
for j:=1 to n do begin
if (ar[i,j]<0) then col:=col+1;
end;
writeln(i,': ',col);
col:=0;
end;
end.
№2
var m,n,i,j,sum,col:integer;
ar:array[1..100,1..100] of integer;
begin
write('строки : '); read(m);
write('столбцы : '); read(n);
for i:=1 to m do begin
write(i,': ');
for j:=1 to n do begin
read(ar[i,j])
end;
sum:=0;
end;
for i:=1 to m do begin
for j:=1 to n do begin
if (i=j) then begin col:=col+1; sum:=sum+ar[i,j]; end;
end;
end;
writeln(sum/col);
end.