Найти минимальное значение главной диагонали и максимальное значение диагонали в квадратной матрице размером 5х5. найденные значения поменять местами. если эти значения принадлежат одному элементу, то это значение присвоить всем элементам главной и диагоналей.

Katya007goi Katya007goi    3   02.10.2019 13:30    5

Ответы
daeinam095 daeinam095  09.10.2020 11:50
PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018Внимание! Если программа не работает, обновите версию!

begin

 var n := 5;

 Writeln('*** Исходная матрица ***');

 var a := MatrRandom(n, n, -99, 99);

 a.Println(4);

 Writeln(4 * a.ColCount * '-');

 Writeln('*** Полученная матрица ***');

 var (i1, i2) := (0, 0);

 for var i := 1 to n - 1 do

 begin

   if a[i, i] < a[i1, i1] then i1 := i;

   if a[i, n - i - 1] > a[i2, n - i2 - 1] then i2 := i

 end;

 if i1 = i2 then

   for var i := 0 to n - 1 do

     (a[i, i], a[i, n - i - 1]) := (a[i1, i1], a[i1, i1])

 else Swap(a[i1, i1], a[i2, n - i2 - 1]);

 a.Println(4)

end.

ПОКАЗАТЬ ОТВЕТЫ
WolfHunter1 WolfHunter1  09.10.2020 11:50

javascript:var матрица = [];

for (let сч1 = 0; сч1 < 5; сч1++) { матрица.push([]); for (let сч2 = 0; сч2 < 5; сч2++) матрица[сч1].push(Math.random() * 100 | 0); }

var мин = матрица[0][0], н_мин = 0, макс = мин, н_макс = 0;

for (let сч = 1; сч < 5; сч++) if ( let зн_г = матрица[сч][сч], зн_в = матрица[сч][4 - сч]; if (зн_г < мин) { мин = зн_г; н_мин = сч; } else if (зн_в > макс) { макс = зн_в; н_макс = сч; }  )

if (н_мин == 2 && н_макс == 2) for (let сч = 0; сч < 5; сч++) { матрица[сч][сч] = макс; матрица[сч][4 - сч] = макс; }

else { матрица[н_мин][н_мин] ^= матрица[н_макс][н_макс];  матрица[н_макс][н_макс] ^= матрица[н_мин][н_мин];  матрица[н_мин][н_мин] ^= матрица[н_макс][н_макс]; }


Найти минимальное значение главной диагонали и максимальное значение диагонали в квадратной матрице
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика