//ID: 19127640 //Name : Hoang Huu Giap //Bai 11 #include using namespace std; #define M 100 void NhapMang(int a[][M], int& row, int& col) { cout << "Input row:"; cin >> row; cout << "Input col:"; cin >> col; for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << "a[" << i << "][" << j << "] ="; cin >> a[i][j]; } cout << endl; } } void XuatMang(int a[][M], int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << a[i][j] << "\t"; } cout << endl; } } int MaxDong(int a[][M], int row, int col, int i, int j) { int k; for (k = 0; k < col; k++) { if (a[i][j] < a[i][k]) return 0; } return 1; } int MaxCot(int a[][M], int row, int col, int i, int j) { int k; for (k = 0; k < row; k++) { if (a[i][j] < a[k][j]) return 0; } return 1; } int MaxDuongCheo1(int a[][M], int row, int col, int i, int j) { int k = i + 1; int m = j - 1; while (i + j != m + k) { if (a[i][j] < a[k][m]) return 0; else { k++; m--; } } return 1; } int MaxDuongCheo2(int a[][M], int row, int col, int i, int j) { int x = i + 1; int z = j + 1; while (i + j != z - x) { if (a[i][j] < a[x][z]) return 0; else { x++; z++; } } return 1; } void CheckHoangHau(int a[][M], int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { //if (a[i][j] != a[0][0] || a[i][j] != a[row - 1][col - 1] || a[i][j] != a[row - 1][0] || a[i][j] != a[0][col - 1]) //{ if (MaxDong(a, row, col, i, j)==1 && MaxCot(a, row, col, i, j)==1 && MaxDuongCheo1(a, row, col, i, j)==1&& MaxDuongCheo2(a, row, col, i, j) == 1) cout << "Cac vi tri do la: (" << i << "," << j << ")" << endl; //} } } } int main() { int a[M][M], row, col; NhapMang(a, row, col); XuatMang(a, row, col); CheckHoangHau(a, row, col); return 1; }