Предмет: Информатика, автор: deadspace128

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

Ответы

Автор ответа: Удачник66
9

Основу программы составит цикл

Мах = 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, содержащий номер строки.


Аноним: А в вопросе была просьба объяснить идею? Мне просто интересно, давно можно стало писать частичные ответы? Может быть, просто я не в курсе?
Аноним: Хотя, наверно это правильнее у Нелле спросить.
Удачник66: Если вам не нравится ответ - можете отметить нарушение. Автору вопроса ответ понравился.
Аноним: Какое право я имею отмечать нарушение в ответе, если не знаю нынешних правил модерации? Если был уверен, сразу бы отметил))
Аноним: Мне стало интересно, чего это я, как дурачок, старюсь приводить полный ответ и скрины выполненного контрольного примера, если теперь можно давать подобные фрагменты?
Удачник66: Правила простые. Вы под моим ответом должны видеть строчку "Отметить нарушение". Нажимаете на нее и описываете, что именно вам не нравится. Я сам этой строчки в своем ответе не вижу, зато вижу в вашем. Потому что отметить можно только чужое нарушение, но не свое. Но я вам отмечать не буду, потому что не знаю языка PascalABC.NET и не могу оценить, насколько она правильная.
Удачник66: Просто я ответ писал с телефона, а там всегда есть риск, что ответ сорвется и не сохранится, поэтому я вынужден писать как можно короче, то есть только самое главное.
Аноним: Спасибо за разъяснения)) Но по установившейся некогда традиции я не помечаю ответов Знатоков нарушениями даже если уверен в их наличии. А тут у меня нет уверенности.
Удачник66: Вам тоже спасибо. Учту на будущее и буду стараться писать целиком
Аноним: эмм...
Автор ответа: Аноним
8

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.

Приложения:

Аноним: ооо
Аноним: первая!!!
Похожие вопросы
Предмет: Математика, автор: arsenykudanov45
Предмет: Математика, автор: dimashchegolev2