Сформировать матрицу по правилу - C (СИ) (75557)
Формулировка задачи:
Дано квадратную матрицу А, n-го порядку (n<10). Создать матрицу n -1 порядка , путём изъятия в матрице А, строки и столбца которые размещены на пересечении местонахождения минимального элемента матрицы А. Вывести на печать две матрицы, и значение минимального элемента матрицы.
Решение задачи: «Сформировать матрицу по правилу»
textual
Листинг программы
#include <iostream.h>
int main(int argc, char* argv[])
{
int M1[5][5] = {{1,2,3,4,5},
{12,12,11,1,13},
{9,8,7,6,5},
{-9,8,-7,6,-5},
{0,0,0,0,5}};
int M2[4][4];
int min=M1[0][0],im=0,jm=0;
int i,j,ii=0,jj=0;
// Ищем минимум и его координаты
for (i=0; i<5; i++)
for (j=0; j<5; j++)
if (M1[i][j] < min)
{
im=i;
jm=j;
min=M1[i][j];
}
// Перенос
for (i=0; i<5; i++)
if (i != im)
{
for (j=0; j<5; j++)
if (j != jm)
M2[ii][jj++]=M1[i][j];
ii++;
jj=0;
}
// Вывод
for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
cout << M2[i][j] << " ";
cout << endl;
}
return 0;
}