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

0 голосов

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

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


спросил от Начинающий (116 баллов) в категории Информатика
оставил комментарий от БОГ (150k баллов)

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

оставил комментарий от Отличник (5.8k баллов)

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

оставил комментарий от Начинающий (116 баллов)

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

оставил комментарий от Отличник (5.8k баллов)

Без проблем.

оставил комментарий от Отличник (5.8k баллов)

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

оставил комментарий от Отличник (5.8k баллов)

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

оставил комментарий от Начинающий (116 баллов)

Без понятия

оставил комментарий от Отличник (5.8k баллов)

Будет от 0

1 Ответ
0 голосов
ответил от Отличник (5.8k баллов)

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

// 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
...