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

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

begin
var m:=ReadInteger('Число строк=');
var n:=ReadInteger('Число стролбцов=');
var a:=MatrixRandom(m,n,-99,99);
var imax:=-1; var jmax:=0;
var imin:=0; var jmin:=0;
var min:=100; var max:=-100; // больше большего, меньше меньшего
for var i:=0 to m-1 do begin
for var j:=0 to n-1 do begin
Write(a[i,j]:4);
if (a[i,j]>0) and (a[i,j] mod 2=0) then begin
if a[i,j]<min then begin imin:=i; jmin:=j; min:=a[i,j] end;
if a[i,j]>max then begin imax:=i; jmax:=j; max:=a[i,j] end
end
end;
Writeln
end;
if imax<>-1 then begin
Writeln('Минимальный четный положительный элемент A[',
imin+1,',',jmin+1,']=',a[imin,jmin]);
Writeln('Максимальный четный положительный элемент A[',
imax+1,',',jmax+1,']=',a[imax,jmax])
end
else
Writeln('В массиве нет положительных четных элементов')
end.
Тестовое решение
Число строк= 5
Число стролбцов= 8
-59 98 55 -92 -98 68 5 -82
63 49 41 7 51 22 55 -4
-78 42 -35 -60 -6 -15 -34 -28
-14 55 -44 22 74 -50 -98 85
50 2 65 39 -47 -59 -7 -87
Минимальный четный положительный элемент A[5,2]=2
Максимальный четный положительный элемент A[1,2]=98



Для решения этой задачи, мы можем использовать следующий алгоритм:
1. Создайте пустые переменные для хранения минимального и максимального элементов, а также их индексов. 2. Проходите по каждому элементу матрицы. 3. Проверьте, является ли текущий элемент четным и положительным. 4. Если условие выполняется, сравните текущий элемент с минимальным и максимальным элементами. 5. Если текущий элемент меньше минимального элемента, обновите минимальный элемент и его индексы. 6. Если текущий элемент больше максимального элемента, обновите максимальный элемент и его индексы. 7. По завершении обхода всех элементов матрицы, выведите найденные минимальный и максимальный элементы, а также их индексы.
Ниже приведен пример кода на языке Python, реализующий данный алгоритм:
```python def find_min_max(matrix): min_element = float('inf') max_element = float('-inf') min_indices = None max_indices = None
for i in range(len(matrix)): for j in range(len(matrix[i])): if matrix[i][j] > 0 and matrix[i][j] % 2 == 0: if matrix[i][j] < min_element: min_element = matrix[i][j] min_indices = (i, j) if matrix[i][j] > max_element: max_element = matrix[i][j] max_indices = (i, j)
return min_element, min_indices, max_element, max_indices
# Пример матрицы matrix = [[1, 2, -3], [4, -5, 6], [7, 8, 9]]
min_element, min_indices, max_element, max_indices = find_min_max(matrix)
print("Минимальный элемент:", min_element) print("Индексы минимального элемента:", min_indices) print("Максимальный элемент:", max_element) print("Индексы максимального элемента:", max_indices) ```
После выполнения программы, вы получите минимальный и максимальный элементы из матрицы, а также их индексы. Обратите внимание, что если в матрице нет четных положительных элементов, минимальный и максимальный элементы будут равны float('inf') и float('-inf') соответственно, а их индексы будут None.


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







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