Транспонировать двумерный массив - 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.

Объяснение кода листинга программы

  1. Объявляются переменные: mmax, a, n, i, j, k, s, x.
  2. Задается начальное значение для переменной s.
  3. Пользователю предлагается ввести размер матрицы от 2 до mmax.
  4. В цикле читаются значения матрицы a[i,j] и вычисляется сумма s.
  5. Вычисляется транспонированная матрица a'.
  6. В цикле вычисляется средний элемент матрицы и сравнивается с текущим значением s.
  7. Вычисляется количество элементов, которые больше среднего.
  8. Выводится среднее значение и количество элементов, которые больше среднего.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы