3. Дан двумерный массив. Определить номер строки, в котором расположен максимальный...

0 голосов
110 просмотров

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


Информатика (93 баллов) | 110 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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.


image
(654k баллов)
0

ооо

0

первая!!!

0 голосов

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

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

(320k баллов)
0

А в вопросе была просьба объяснить идею? Мне просто интересно, давно можно стало писать частичные ответы? Может быть, просто я не в курсе?

0

Хотя, наверно это правильнее у Нелле спросить.

0

Если вам не нравится ответ - можете отметить нарушение. Автору вопроса ответ понравился.

0

Какое право я имею отмечать нарушение в ответе, если не знаю нынешних правил модерации? Если был уверен, сразу бы отметил))

0

Мне стало интересно, чего это я, как дурачок, старюсь приводить полный ответ и скрины выполненного контрольного примера, если теперь можно давать подобные фрагменты?

0

Правила простые. Вы под моим ответом должны видеть строчку "Отметить нарушение". Нажимаете на нее и описываете, что именно вам не нравится. Я сам этой строчки в своем ответе не вижу, зато вижу в вашем. Потому что отметить можно только чужое нарушение, но не свое. Но я вам отмечать не буду, потому что не знаю языка PascalABC.NET и не могу оценить, насколько она правильная.

0

Просто я ответ писал с телефона, а там всегда есть риск, что ответ сорвется и не сохранится, поэтому я вынужден писать как можно короче, то есть только самое главное.

0

Спасибо за разъяснения)) Но по установившейся некогда традиции я не помечаю ответов Знатоков нарушениями даже если уверен в их наличии. А тут у меня нет уверенности.

0

Вам тоже спасибо. Учту на будущее и буду стараться писать целиком

0

эмм...