| Цитата(Dov @ 24.1.2007, 00:07) | 20 х 20 тоже хватит, я так думаю.| Код | #include <iostream.h> #include <iomanip.h>
#define MAX_ROWS 20 #define MAX_COLS 20
int main() { int matr[MAX_ROWS][MAX_COLS]; int rows; int cols; int min; int max; int i, j, k; bool found = false;
// запрашиваем у пользователя кол-во строк и столбцов cout << "Vvedite kol-vo strok(ne bolee " << MAX_ROWS << ')' << " : "; cin >> rows; cout << "Vvedite kol-vo stolbcov(ne bolee " << MAX_COLS << ')' << ": "; cin >> cols; cout << endl;
if(rows > MAX_ROWS) rows = MAX_ROWS; if(cols > MAX_COLS) cols = MAX_COLS;
// инициализируем матрицу for(i = 0; i < rows; i++) { for(j = 0; j < cols; j++) { cout << "Vvedite matr[" << i << "][" << j << "] = "; cin >> matr[i][j]; } }
// вывод на экран for(i = 0; i < rows; i++) { for(j = 0; j < cols; j++) cout << setw(4) << matr[i][j]; cout << endl; } // обработка матрицы for(i = 0; i < rows; i++) { min = matr[i][0]; for(j = 1; j < cols; j++) if(matr[i][j] < min) min = matr[i][j]; for(j = 0; j < cols; j++) { if(matr[i][j] == min) { max = matr[0][j]; for(k = 1; k < rows; k++) if(matr[k][j] > max) max = matr[k][j]; if(min == max) { found = true; cout << "\nIndex: [" << i << ']' << '[' << j << ']'; } } } }
if(!found) cout << "\nSedlovoy tochki net\n";
cout << "\n\nPress any key to quit...\n"; cin.get(); return 0; } |
|
Ты на чем делаешь-то? мне на Borland C++ Console Wizard надо, обязательно, иначе препод пошлет Я вот сделал,тока размер матрицы и саму матрицу уже задал в проге, а как сделать чтобы с клавы вводить хз
| Код | #include <stdio.h> #include <conio.h> #define N 4 #define M 5 void main() { int array[N][M]= { 9, 8, 7, 6, 5, 24,73,42,17,42, 3, 4, 5, 6, 7, 90,80,90,90,85 } ; // 80 наибольший в столбце и наименьш. в строке int j,x,y,i,k,max,min; for( j=0;j<M;j++) // для каждого столбца ищем максимальный элемент { max = array[0][j]; // за максимум берем значение из первой строки x=0, y=j; // и текущего столбца
for(i=1;i<N;i++) { // и сравниваем с остальными элементами в столбце if(max<array[i][j]) { max=array[i][j], x = i, y = j; } }
// теперь в max лежит наибольшее значение, в x и y - его координаты. // Остается проверить, если этот эл-т - минимальный в строке. // Пробегаемся по строке и смотрим, вдруг какой-то эл-т в строке меньше нашего. min = array[x][0]; for(k=1;k<M;k++) if(array[x][k]<min) min = array[x][k];
// если меньших элементов в строке нет, то это седловая точка if(min == max) printf("array[%d][%d] = %d\n",x,y,min);
}
getchar(); }
|
|