написать в Microsoft Visual Studio на языке С++
Сформировать матрицу С путем вычеркивания строки и столбца матрицы А, на пересечении которых находится минимальный элемент матрицы А. Определить количество нулей в сформированной матрице и поменять местами первую и последнюю строки матрицы.

Дима99999910 Дима99999910    3   11.04.2020 10:40    2

Ответы
Баянсулу11 Баянсулу11  30.07.2020 12:55

#include <iostream>

#include <iomanip>

#include <ctime>

#define M 5

#define N 5

using namespace std;

int main()

{

   int A[M][N];

   int C[M - 1][N - 1];

   int i, j, min, min_index, zero_cnt = 0;

   setlocale(LC_ALL, "Russian");

   srand(time(0));

   cout << "Исходная матрица: " << endl;

   for (i = 0; i < M; i++)

   {

       for (j = 0; j < N; j++)

       {

           A[i][j] = rand() % 101 - 50;

           cout << setw(4) << A[i][j];

           if ((i == 0) && (j == 0)) min = A[i][j];

           if (A[i][j] < min)

           {

               min_index = i * M + j;

               min = A[i][j];

           }

       }

       cout << endl;

   }

   for (i = 0, j = 0; i < M * N; i++)

       if ((i / M != min_index / M) && (i % M != min_index % M))

       {

           C[0][j] = A[0][i];

           if (C[0][j++] == 0) zero_cnt++;

       }

   cout << "Результат: " << endl;

   for (i = 0; i < M - 1; i++)

   {

       for (j = 0; j < N - 1; j++)

       {

           if (i == 0)

           {

               min = C[i][j];

               C[i][j] = C[M - 2][j];

               C[M - 2][j] = min;

           }

           cout << setw(4) << C[i][j];

       }

       cout << endl;

   }

   cout << "Количество нулей в сформированной матрице: " << zero_cnt;

   return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика