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

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

Основу программы составит цикл
Мах = A(1, 3) ' Максимальный элемент
k = 1 ' номер строки с макс. элементом.
For i=1 To n ' цикл по строкам
If A(i, 3) >= Max Then
Max = A(i, 3) : k = i
End If
Next i
В цикле мы запоминаем макс. элемент и его строку. Если новый макс равен уже найденному, то меняем номер строки. Для этого стоит сравнение >=, а не просто >. Таким образом, сохраняется элемент с большим номером строки, то есть нижний.
В результат выводим k, содержащий номер строки.



PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018
Внимание! Если программа не работает, обновите версию!
begin
var (m, n) := ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a := MatrRandom(m, n, -20, 20);
a.Println(4);
Writeln(4 * a.ColCount * '-');
Writeln('Номер искомой строки ', a.Col(2).LastIndexMax + 1)
end.




Для решения этой задачи вам необходимо пройтись по всем элементам третьего столбца массива, найти максимальное значение и запомнить его. Затем пройтись по этому столбцу ещё раз и найти все строки, где есть максимальное значение. После этого выбрать номер самой нижней строки с максимальным значением.
Вот пример кода на языке Python, решающего данную задачу:
pythondef find_row_with_max_in_third_column(array):
max_value = float('-inf')
max_value_rows = []
# Находим максимальное значение в третьем столбце
for row in array:
if row[2] > max_value:
max_value = row[2]
# Находим все строки, содержащие максимальное значение в третьем столбце
for i, row in enumerate(array):
if row[2] == max_value:
max_value_rows.append(i)
# Находим номер самой нижней строки с максимальным значением
if max_value_rows:
return max(max_value_rows)
else:
# Если массив пустой или нет элементов в третьем столбце, возвращаем -1 (или другое значение, которое можно использовать для обозначения отсутствия результата)
return -1
# Пример использования:
array = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 9],
[12, 13, 15]
]
result = find_row_with_max_in_third_column(array)
print("Номер строки с максимальным элементом в третьем столбце:", result) # Выведет: 4
Здесь предполагается, что массив array
представляет собой двумерный массив, где каждый элемент array[i]
является списком (строкой) с тремя элементами (столбцами).


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







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