НУЖНО СДЕЛАТЬ ПРОГРАММУ на 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
 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			