Задача. Даны натуральное число [latex]n[/latex], целочисленная квадратная матрица порядка [latex]n[/latex]. Получить [latex]{b}_{1}[/latex],…,[latex]{b}_{n}[/latex], где [latex]{b}_{i}[/latex] — это наименьшее из значений, элементов находящихся в начале i-й строки матрицы до элемента, принадлежащего главной диагонали, включительно.
4 |
|
|
Пройдено | ||||||||||||||||||||
4 |
|
|
Пройдено |
Считываем матрицу и проходим в цикле по каждой строке ведя поиск минимального элемента, но есть одно «Но», из-за которого эта задача по интереснее чем просто задача о простом нахождении минимума: и это тот факт что поиск ведется под главной диагональю матрицы.
У всех элементов находящихся под главной диагональю матрицы, включительно, индекс строк больше или равен индексу столбцов заданной матрицы. Учтем это при составлении программы.
На этом все интересное заканчивается осталось только написать код с учетом вышеперечисленных особенностей задачи.
Проверить можно здесь: http://ideone.com/6yjlQQ
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 28 29 30 |
#include <cstdlib> #include <iostream> using namespace std; int main() { int n; cin >> n; int a[n][n]; for( int i=0 ; i<n ; i++ ) { for( int j=0 ; j<n ; j++ ) { cin >> a[i][j]; } } for( int i=0 ; i<n ; i++ ) { int min=a[i][0]; for( int j=0 ; i-j>=0 ; j++ ) // критерий отбора элементов под главной диагональю { if( a[i][j]<min ) { min = a[i][j]; } } cout << min << (i+1!=n?' ':'\n'); } } |
Засчитано, 10 баллов, замечу только, что в отчете не хватает несколько запятых.