11.01.2011, 23:22. Просмотров 606. Ответов 3
Задача:
Дана действительная матрица размером n × m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.
Проблема такова: программа вылетает, не показав результата, то есть ввожу кол-во строк, затем кол-во столбцов. Затем ввожу цифры, после ввода последней цифры в последнем столбце, окно программы закрывается.
Код программы:
C++ |
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
31
32
33
34
35
36
37
38
39
40
41
| #include <iostream.h>
#include <conio.h>
#include <values.h>
int main () {
int i, j, n, m, res_i, res_j;
clrscr();
cout << "Enter rows:";
cin >> n;
cout << "Enter cols:";
cin >> m;
int a[10][10];
for(i = 0; i < n; i++) {
for(j = 0; j < m; j++) {
cout << "Enter a[" << i+1 << "," << j+1 << "]";
cin >> a[i][j];
}
}
int maximal = -MAXINT;
for(i = 0; i < n; ++i) {
int ix_min = 0;
for(j = 1; j < m; ++j)
if(a[i][j] < a[i][ix_min]) ix_min = j;
if(a[i][ix_min] > maximal) {
maximal = a[i][ix_min];
res_i = i; res_j = ix_min;
}
}
cout << "max of mins = " << a[res_i][res_j]
<< ": " << res_i << ", " << res_j << endl;
return 0;
} |
|
В чем проблема?