Транспонировать двумерный массив - Pascal ABC
Формулировка задачи:
Транспонировать двумерный массив относительно побочной диагонали. Подсчитать, сколько элементов, расположенных выше главной диагонали больше чем среднее значение в массиве
Решение задачи: «Транспонировать двумерный массив»
textual
Листинг программы
const mmax=10; var a:array[1..mmax,1..mmax] of real; n,i,j,k:byte; s,x:real; begin randomize; repeat write('Размер матрицы от 2 до ',mmax,' n='); readln(n); until n in [2..mmax]; writeln('Матрица'); s:=0; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=10*random; write(a[i,j]:5:1); s:=s+a[i,j]; end; writeln; end; s:=s/n/n; for i:=1 to n-1 do for j:=1 to n-i do begin x:=a[i,j]; a[i,j]:=a[n-j+1,n-i+1]; a[n-j+1,n-i+1]:=x; end; writeln('Транспонированная матрица'); k:=0; for i:=1 to n do begin for j:=1 to n do begin write(a[i,j]:5:1); if (j>i)and(a[i,j]>s) then k:=k+1; end; writeln; end; writeln('Среднее=',s:0:1); write('Количество элементов выше главной диагонали больших среднего=',k); end.
Объяснение кода листинга программы
- Объявляются переменные: mmax, a, n, i, j, k, s, x.
- Задается начальное значение для переменной s.
- Пользователю предлагается ввести размер матрицы от 2 до mmax.
- В цикле читаются значения матрицы a[i,j] и вычисляется сумма s.
- Вычисляется транспонированная матрица a'.
- В цикле вычисляется средний элемент матрицы и сравнивается с текущим значением s.
- Вычисляется количество элементов, которые больше среднего.
- Выводится среднее значение и количество элементов, которые больше среднего.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д