Ю4.29

Текущий минимум. Каждый из элементов [latex] t_{i}[/latex] массива [latex]T(m)[/latex] заменить минимальным среди первых [latex]i[/latex] элементов этого массива.

[latex]m[/latex] [latex]t_{1}, t_{2},\ldots,t_{i}[/latex]  Результат:
6 9
7
8
5
14
1
9
7
7
5
5
1
5 3
-2
5
-3
8
3
-2
-2
-3
-3
4 12
0
4
-7
12
0
0
-7

Код программы:

По условию задачи необходимо выводить текущий минимум введенных элементов массива.
Для этого опишем количество элементов, которое вводится с клавиатуры (так как это целое число, оно имеет тип «int»). Затем описав массив, считываем первый элемент массива и присваиваем переменной минимум его значение. После необходимо создать цикл для ввода остальных элементов массива. При условии, что текущий элемент меньше предыдущего, переприсваиваем минимум. Все элементы массива заменяем минимальным. Остается только вывести все текущие минимумы.
Для проверки работы программы можно воспользоваться объектом.

 

Код на Java:

 

Related Images:

5 thoughts on “Ю4.29

  1. Программа выводит правильный результат, но есть…
    … важная ошибка:
    — T[j+1] выходит за пределы массива. Т.е. Вы в конце присваиваете значение в какую-то неизвестно чем занятую область памяти.
    … некоторая странность:
    — Внутренний цикл работает с ещё не введенными элементами массива. Т.е. когда Вы ввели ещё только нулевой элемент, внутренний цикл всё равно обрабатывает все.

    Вложенные циклы здесь вообще не нужны. Только замедляют работу программы. Посмотрите на алгоритм поиска минимума, который мы реализовывали в классе. Там есть переменная min. На каждом шаге там хранится текущий минимум. Нужно только добавить одну строчку после сравнения — положить min в a[i][j] .

    • Исправлено.

    • Нет. Вы не изменили массив. В 15-й строке вместо присваивания элементу массива текущего минимума стоит его печать.
      Печать работает. Выглядит всё хорошо. Но в задаче написано «заменить минимальным»

    • Отредактировано

Добавить комментарий