Текущий минимум. Каждый из элементов [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 |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> using namespace std; int main() { int m; //Переменная определяющая количество элементов массива. cin >> m; // Чтение из стандартного потока. int T[m]; // Описание массива. cin>>T[0]; // Чтение из стандартного потока. int min=T[0]; for(int i=1; i<m; i++) { cin >> T[i]; // Чтение из стандартного потока. if(T[i]<min) { min=T[i]; } T[i]=min; } for(int i=0; i<m; i++) { cout<<T[i]<<endl; } return 0; } |
По условию задачи необходимо выводить текущий минимум введенных элементов массива.
Для этого опишем количество элементов, которое вводится с клавиатуры (так как это целое число, оно имеет тип «int»). Затем описав массив, считываем первый элемент массива и присваиваем переменной минимум его значение. После необходимо создать цикл для ввода остальных элементов массива. При условии, что текущий элемент меньше предыдущего, переприсваиваем минимум. Все элементы массива заменяем минимальным. Остается только вывести все текущие минимумы.
Для проверки работы программы можно воспользоваться объектом.
Код на Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); int m; m = in.nextInt(); int []T = new int[m]; T[0] = in.nextInt(); int min=T[0]; for(int i=1; i<m; i++) { T[i] = in.nextInt(); if(T[i]<min) { min=T[i]; } T[i]=min; } for(int i=0; i<m; i++) { System.out.println(T[i]); } } } |