
Дана матрица В[N,M].найти в каждой строке матрицы максимальный и минимальный элемент и поменять их
местами с первым и последним элементом строки соответственно.(Паскаль)

Ответы на вопрос

// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):= ReadInteger2('n, m -> ');
var a:= MatrRandom(m,n);Writeln('Исходная матрица:');a.Println;
dec(n);dec(m);for var i:= 0 to m do
begin
swap(a[i, a.Row(i).IndexMin],a[i, n]);
swap(a[i, a.Row(i).IndexMax],a[i, 0]);
end;
Writeln('Конечная матрица:');
a.Print
end.
Пример:
n, m -> 5 6
Исходная матрица:
99 9 30 83 11
89 13 70 50 54
43 59 22 13 89
67 27 48 72 41
63 62 5 58 71
45 35 60 3 95
Конечная матрица:
99 11 30 83 9
89 54 70 50 13
89 59 22 43 13
72 41 48 67 27
71 62 63 58 5
95 35 60 45 3



Решение задачи в Паскале
Для решения данной задачи в Паскале, необходимо выполнить следующие шаги:
1. Найти максимальный и минимальный элемент в каждой строке матрицы. 2. Поменять местами максимальный и минимальный элемент с первым и последним элементом строки соответственно.
Давайте начнем с поиска максимального и минимального элементов в каждой строке матрицы.
Поиск максимального и минимального элементов в каждой строке матрицы
Для нахождения максимального и минимального элементов в каждой строке матрицы, можно использовать следующий код на Паскале:
```pascal program MaxMinSwap; const N = ...; // количество строк матрицы M = ...; // количество столбцов матрицы var B: array[1..N, 1..M] of Integer; // объявление матрицы i, j, maxIdx, minIdx, temp: Integer; begin // Ввод элементов матрицы B[N, M]
// Нахождение максимального и минимального элементов в каждой строке for i := 1 to N do begin maxIdx := 1; minIdx := 1; for j := 2 to M do begin if B[i, j] > B[i, maxIdx] then maxIdx := j; if B[i, j] < B[i, minIdx] then minIdx := j; end;
// Обмен максимального и минимального элементов с первым и последним элементом строки temp := B[i, 1]; B[i, 1] := B[i, minIdx]; B[i, minIdx] := temp;
temp := B[i, M]; B[i, M] := B[i, maxIdx]; B[i, maxIdx] := temp; end;
// Вывод измененной матрицы B[N, M] end. ```
В этом коде мы проходим по каждой строке матрицы, находим индексы максимального и минимального элементов, а затем меняем их местами с первым и последним элементами строки соответственно.
Заключение
Таким образом, приведенный выше код на Паскале позволяет найти максимальный и минимальный элементы в каждой строке матрицы и поменять их местами с первым и последним элементами строки.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili