const int NROW =100;
const int NCOL =40;
void vvod_ar(int arra[NROW][NCOL], int m, int n);
void vyvod_ar(int arra[NROW] [NCOL], int m, int n);
void poisk_min(int arra[NROW][NCOL], int m, int n, int &imin, int &jmin);
void del_min (int arra[NROW][NCOL], int m, int n, int imin, int jmin);
int main()
{int m=10; // число строк реального массива
int n=9; // число столбцов реального массива
int imin, jmin;
int arra [NROW][NCOL] ={{1}, {2}, {3}, {4}, {5}};
int arra1 [][NCOL] ={{1}, {2}, {3}, {4}, {5}};
vvod_ar(arra, m, n);
vyvod_ar(arra, m, n);
poisk_min(arra, m, n, imin, jmin);
cout << "imin= " << imin+1 << endl;
cout << "jmin= " << jmin+1 << endl;
del_min (arra, m, n, imin, jmin);
vyvod_ar(arra, m-1, n-1);
_getch();
return 0;
}
void vyvod_ar(int arra[NROW][NCOL], int m, int n) //функция вывода массива
{
for (int i=0; i<m; i++)
{for (int j=0; j<n; j++)
cout << setw(3) << arra[i][j];
cout << endl;
}
cout << endl;
}
void vvod_ar(int arra [NROW][NCOL], int m, int n) //функция ввода массива
{
for (int i=0; i<m; i++)
for (int j=0; j<n; j++)
arra[i][j] = 1+ rand()%10;
}
//функция поиска минимального элемента в массиве
void poisk_min(int a[NROW][NCOL], int m, int n, int &imin, int &jmin)
{
imin = jmin =0;
int min = a[0][0];
for (int i=0; i<m; i++)
for (int j=0; j<n; j++)
if (a[i][j] <= min) { //последний min в массиве
min = a[i][j];
imin=i;
jmin=j;
}
}
//функция удаления в массиве строки и столбца с минимальноым элементом
void del_min (int a[NROW][NCOL], int m, int n, int imin, int jmin)
{int ii, jj;
for (int i=0; i<m-1; i++)
for (int j=0; j<n-1; j++)
{
if (i >=imin) ii=i+1; else ii=i;
if (j >=jmin) jj=j+1; else jj=j;
a[i][j]=a[ii][jj];
}
}