Написать на c++: в матрице 4*5 замените на -2 столбцы с положительными суммами элементов, а затем в качестве первого вставьте столбец из минимальных элементов соответственных строк

КАТЯ3105 КАТЯ3105    3   27.09.2019 14:30    1

Ответы
hellppp1 hellppp1  08.10.2020 22:50

Если я все правильно понял, то так:

#include <iostream>

#include <algorithm>

/*

Написать на C++:в матрице 4*5 замените на -2 столбцы с положительными суммами элементов,  

а затем в качестве первого вставьте столбец из минимальных элементов соответственных строк

*/

#define N 4 // строки

#define M 5 // столбцы

int main()

{

   int  

       matrix[N][M],

       sum(0);

   for(int i = 0; i < N; i++)//инициализируем матрицу.

   {

       for(int j = 0; j < M; j++)

       {

           std::cin >> matrix[i][j];

       }

   }

   for(int i = 0; i < N; i++)//выводим начальную матрицу

   {

       for(int j = 0; j < M; j++)

       {

           std::cout << matrix[i][j] << " ";

       }

       std::cout << std::endl;

   }

   for(int j = 0; j < M; j++)//выполняем 1 задание

   {

       for(int i = 0; i < N; i++)

       {

           sum+=matrix[i][j];

       }

       if(sum)

       {

           for(int i = 0; i < N; i++)

           {

               matrix[i][j] += -2;

           }

       }

   }

   int minimal(0);

   for(int i = 0; i < N; i++)//выполняем второе задание

   {

       minimal = std::min(matrix[i][0], matrix[i][M-1]);

       matrix[i][0] = minimal;

   }

   for(int i = 0; i < N; i++)

   {

       for(int j = 0; j < M; j++)

       {

           std::cout << matrix[i][j] << " ";

       }

       std::cout << std::endl;

   }

}


p.s я не заморачивался насчет читабельности и оптимизации кода, ибо делаю не для себя. Но, по-моему, должно работать.

В противном случае пиши мне, исправлю.

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