Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2018, 13:13   #1
Enotik_1998
Пользователь
 
Регистрация: 09.03.2018
Сообщений: 77
По умолчанию Если среднее арифметическое элементов стоящих над главной диагональю больше суммы элементов стоящих на побочной диагонали, то транспонировать матрицу, pascal abc

Если среднее арифметическое элементов стоящих над главной диагональю больше суммы элементов стоящих на побочной диагонали, то поменять местами строки и столбцы (транспонировать матрицу). В противном случае матрицу оставить без изменения. Есть код на отдельные части решения:Среднее арифметическое каждого столбца над главной диагональю, Cумма элементов побочной диагонали матрицы, Транспонирование матрицы. Помогите из него склеить нужное. Вот исходный код:
Среднее арифметическое каждого столбца над главной диагональю:
Код:
const
  n=5;
var
  a:array[1..n,1..n] of real;
  b:array[1..n] of real;
  i,j,k:byte;
  sum,sa:real;
begin
  randomize;
  for i:=1 to n do
    for j:=1 to n do
      begin
        a[i,j]:=random(9)+1;
        write(a[i,j]:0:1,' ');
        if j=n then
          writeln;
      end;
  for j:=1 to n do
    begin
      k:=0;
      sum:=0;
      for i:=1 to n do
        begin
          if (j=i) or (j>i) then
            begin
              inc(k);
              sum:=sum+a[i,j];
            end;
        end;
      sa:=sum/k;
      b[j]:=sa;
    end;
  for i:=1 to n do
    for j:=1 to n do
      begin
        write(a[i,j]:0:1,' ');
        if j=n then
          writeln;
      end;
  readln;
end.
Cумма элементов побочной диагонали матрицы:
Const
  n=7;
Var
  x: Array[1..n,1..n] of Integer;
  i,j,s: Integer;
BEGIN
Randomize;
Writeln('Случайная матрица:');
For i:=1 to n do
begin
  For j:=1 to n do
  begin
    x[i,j]:=Random(51)-25;
    Write(x[i,j]:5);
  end;
  Writeln
end;
j:=8;
For i:=1 to n do
begin
  j:=j-1;
  s:=s+x[i,j];
end;
Writeln('Сумма элементов побочной диагонали: ',s);
Readln
END.
Транспонирование матрицы:
uses crt;
Const
k=10;
Type
  matrix= Array [0..k, 0..k] of integer;
Var
  matrix1: matrix;
  i, j, n, temp:Integer;
{процедура транспонирования}
Procedure transp;
Begin
  For i := 2 to n do
  For j := 1 to i-1 do
  Begin
    temp:= matrix1[i,j];
    matrix1[i,j]:= matrix1[j,i];
    matrix1[j,i]:= temp;
  end;
 {matrix2 [i, j] := matrix1 [j, i];};
end;

Procedure readMatrix;
Begin
  Write ('Введите размерность матрицы: ');
  ReadLn (n);
  WriteLn ('Введите  элементы таблицы:');
  For i := 1 to n do
  For j := 1 to n do
  Begin
    Write ('элемент [', i, ',', j, '] = ');
    ReadLn (matrix1 [i, j] );
  End;
 End;

Procedure writeMatrix;
Begin
  For i := 1 to n do
  Begin
    For j := 1 to n do
    Write (matrix1 [i, j] : 6);
    WriteLn;
  End;
End;

Begin
   clrscr;
   WriteLn ('Транспонирование матрицы.');
   readMatrix;
   WriteLn;
 writeMatrix;
     transp;
     WriteLn;
     WriteLn('Транспонированная матрица:');
 writeMatrix;
     ReadLn;
END.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 06.12.2018 в 14:14.
Enotik_1998 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана квадратная матрица порядка N.В матрице вычислить среднее арифметическое положительных элементов ,стоящих на главной диагонали. M&M Помощь студентам 4 19.12.2016 11:03
pascal или Delphi: массив A[n,n]. Если на главной диагонали нет отрицательных элементов, то элементы побочной диагонали - удвоить, Ману Помощь студентам 3 29.05.2014 18:00
Определить сколько элементов, стоящих под главной диагональю, отличны от нуля(паскаль) LiOne1 Паскаль, Turbo Pascal, PascalABC.NET 4 08.06.2013 17:15
Вычислить сумму элементов главной и побочной диагонали двумерного массива , найти среднее арифметическое neBu4kaMaXiM Помощь студентам 7 24.02.2009 15:58
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15