Вопрос задан 21.06.2023 в 16:58. Предмет Информатика. Спрашивает Колобродова Алина.

НУЖНО СДЕЛАТЬ ПРОГРАММУ на c++ Дана матрица размера M×N. Удалить её первый столбец, содержащий

только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Майер Оля.

Ответ:

#include<stdio.h>

 

int main()

{

   int n=3,m=3,a[50][50],i,j,k,g;  

 

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

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

           scanf("%d",&a[i][j]);

 

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

       {

           g=0;

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

               if(a[i][j]>0) ++g;

 

           if(g==n)  

           {

               for(k=j;k<m-1;++k)

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

                       a[i][k]=a[i][k+1];

 

                   m--;

 

               break;

           }

       }

 

                   

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

               {

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

                       printf("%2d",a[i][j]);

 

                   printf("\n");

               }

 

       return 0;

 

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на C++ вы можете использовать следующий код. В этом коде предполагается, что вы вводите матрицу с клавиатуры и затем удаляете первый столбец, содержащий только положительные элементы:

cpp
#include <iostream> #include <vector> int main() { int M, N; // Размеры матрицы MxN std::cout << "Введите количество строк (M): "; std::cin >> M; std::cout << "Введите количество столбцов (N): "; std::cin >> N; std::vector<std::vector<int>> matrix(M, std::vector<int>(N)); // Ввод элементов матрицы std::cout << "Введите элементы матрицы:" << std::endl; for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { std::cin >> matrix[i][j]; } } // Поиск столбца с положительными элементами int columnToRemove = -1; // Инициализируем -1, чтобы показать, что такого столбца пока нет for (int j = 0; j < N; j++) { bool allPositive = true; for (int i = 0; i < M; i++) { if (matrix[i][j] <= 0) { allPositive = false; break; } } if (allPositive) { columnToRemove = j; break; } } // Удаление столбца (если найден) if (columnToRemove != -1) { for (int i = 0; i < M; i++) { for (int j = columnToRemove; j < N - 1; j++) { matrix[i][j] = matrix[i][j + 1]; } } N--; // Уменьшаем количество столбцов } // Вывод результата std::cout << "Результат:" << std::endl; for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } return 0; }

Этот код сначала вводит размеры матрицы, затем элементы матрицы, ищет первый столбец, содержащий только положительные элементы, и удаляет его, если такой столбец существует. Результат выводится на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос