3. Дана прямоугольная матрица, элементами которой являются целые числа. Поменять местами ее строки следующим образом: первую строку с последней, вторую с предпоследней и т.д. program a3; var a: array [1..10, 1..10] of integer; z, n, m, i, j: integer; begin read( n, m ); for i:=1 to n do begin for j:=1 to m do begin a[i, j]:=random(10); write(a[i, j]:3); end ; writeln; end; for i:=1 to n div 2 do for j :=1 to m do begin z:=a[i, j]; a[i, j]:= a[n-i+1,j]; a[n-i+1,j]:=z; end ; writeln; for i:=1 to n do begin for j:=1 to m do write(a[i, j]:3); writeln; end; end.
4. Дана прямоугольная матрица, элементами которой являются целые числа. Для каждого столбца подсчитать среднее арифметическое значение его нечетных элементов и записать полученные данные в новый массив. program a4; var a,b: array [1..10, 1..10] of integer; b: array [1..10, 1..10] of real; s,k, n, m, i, j: integer; begin read( n, m ); for i:=1 to n do begin for j:=1 to m do begin a[i, j]:=random(10); write(a[i, j]:3); end ; writeln; end;
for j:=1 to m do begin {для каждого j -го столбца} s :=0; {обнуляем сумму нечетных элементов столбца} k :=0; {обнуляем количество нечетных элементов столбца} b [ j ]:=0; {устанавливаем начальное значение j элемента массива b } {во внутреннем цикле находим сумму и количество нечетных элементов j -го столбца} for i:=1 to n do if a[i, j] div 2 0 then begin s:=s+a[i, j]; k:=k+1; end; if k 0 {если количество нечетных элементов не равно нулю,} then b [ j ]:= s / k ; {то в j элемент массива b записываем среднее арифметическое значение нечетных элементов j столбца массива a } end; writeln( Вывод массива b); for j:=1 to m do write(b[ j]:5:3); End.