Помогите пожалуйста В квадратной матрице А(7,7) поменять местами минимальные элементы...

0 голосов
95 просмотров

Помогите пожалуйста

В квадратной матрице А(7,7) поменять местами минимальные элементы
первой и третьей строк, максимальные элементы главной и побочной
диагоналей.


Информатика (116 баллов) | 95 просмотров
0

Обычно еще указывают язык программирования. Либо, увидев решение, потом пишут "Ой, мне на другом языке надо!"

0

Но если же язык не указан, то нас же это не волнует, одному не подошло, а другому как раз)

0

Если не указала значит его нет

0

Без проблем.

0

Скажите еще одно

0

Первая и третья по индексу или по счету, точнее от 0 до 6 индексация или от 1 до 7

0

Без понятия

0

Будет от 0

Дан 1 ответ
0 голосов

Изящно и непонятно.

// PascalABC.NET 3.4, сборка 1767 от 27.08.2018


begin

  var matr := MatrRandom(7, 7, 0, 100); matr.Println;  // // объявление матрицы со случайными значениями в диапазоне(0, 100) и её печать

  Swap(matr[0, matr.Row(0).IndexMin], matr[2, matr.Row(2).IndexMin]);   // меняем местами мин. элементы первой и третьей строк.

  var m := matr.ElementsWithIndexes.Where(t -> t[1] = t[2]).MaxBy(t -> t[0]);  // получение максимального элемента с его позицией в матрице главной диагонали.

  var s := matr.ElementsWithIndexes.Where(t -> (t[1], t[2]) in Range(0, 6).Select((t, i)-> (t, abs(i - 6)))).MaxBy(t -> t[0]);  // и побочной

  Println;  // отступ

  Swap(matr[m[1], m[2]], matr[s[1], s[2]]);  // меняем местами макс. элементы диагоналей

  matr.Println;  // печать результата

end.


Пример вывода в приложении:


image
(5.8k баллов)