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

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

Ответ:
#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;
}
Объяснение:



Для решения этой задачи на 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;
}
Этот код сначала вводит размеры матрицы, затем элементы матрицы, ищет первый столбец, содержащий только положительные элементы, и удаляет его, если такой столбец существует. Результат выводится на экран.


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili