Предмет: Информатика,
автор: deadspace128
3. Дан двумерный массив. Определить номер строки, в котором расположен максимальный элемент третьего столбца массива. Если элементов с максимальным значением в этом столбце несколько, то должен быть найден номер строки самого нижнего из них.
Ответы
Автор ответа:
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, содержащий номер строки.
Аноним:
А в вопросе была просьба объяснить идею? Мне просто интересно, давно можно стало писать частичные ответы? Может быть, просто я не в курсе?
Хотя, наверно это правильнее у Нелле спросить.
Если вам не нравится ответ - можете отметить нарушение. Автору вопроса ответ понравился.
Какое право я имею отмечать нарушение в ответе, если не знаю нынешних правил модерации? Если был уверен, сразу бы отметил))
Мне стало интересно, чего это я, как дурачок, старюсь приводить полный ответ и скрины выполненного контрольного примера, если теперь можно давать подобные фрагменты?
Правила простые. Вы под моим ответом должны видеть строчку "Отметить нарушение". Нажимаете на нее и описываете, что именно вам не нравится. Я сам этой строчки в своем ответе не вижу, зато вижу в вашем. Потому что отметить можно только чужое нарушение, но не свое. Но я вам отмечать не буду, потому что не знаю языка PascalABC.NET и не могу оценить, насколько она правильная.
Просто я ответ писал с телефона, а там всегда есть риск, что ответ сорвется и не сохранится, поэтому я вынужден писать как можно короче, то есть только самое главное.
Спасибо за разъяснения)) Но по установившейся некогда традиции я не помечаю ответов Знатоков нарушениями даже если уверен в их наличии. А тут у меня нет уверенности.
Вам тоже спасибо. Учту на будущее и буду стараться писать целиком
эмм...
Автор ответа:
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.
Приложения:
ооо
первая!!!
Похожие вопросы
Предмет: Алгебра,
автор: SakumiDemo
Предмет: Литература,
автор: kseniykolobova
Предмет: Алгебра,
автор: ghostsoul266
Предмет: Математика,
автор: ksastaff
Предмет: Математика,
автор: dimashchegolev2