Untitled

 avatar
unknown
plain_text
a year ago
1.3 kB
4
Indexable
#include <stdio.h>

int main() {
int M, N;
printf("Введите количество строк M: ");
scanf("%d", &M);
printf("Введите количество столбцов N: ");
scanf("%d", &N);

scss
Copy code
int matrix[M][N];

printf("Введите элементы матрицы:\n");
for (int i = 0; i < M; ++i) {
    for (int j = 0; j < N; ++j) {
        scanf("%d", &matrix[i][j]);
    }
}

int firstPositiveColumn = -1;
int lastPositiveColumn = -1;

for (int j = 0; j < N; ++j) {
    int allPositive = 1;
    for (int i = 0; i < M; ++i) {
        if (matrix[i][j] <= 0) {
            allPositive = 0;
            break;
        }
    }

    if (allPositive) {
        if (firstPositiveColumn == -1) {
            firstPositiveColumn = j;
        }
        lastPositiveColumn = j;
    }
}

if (firstPositiveColumn != -1 && lastPositiveColumn != -1) {
    for (int i = 0; i < M; ++i) {
        int temp = matrix[i][firstPositiveColumn];
        matrix[i][firstPositiveColumn] = matrix[i][lastPositiveColumn];
        matrix[i][lastPositiveColumn] = temp;
    }
}

printf("Матрица после замены столбцов:\n");
for (int i = 0; i < M; ++i) {
    for (int j = 0; j < N; ++j) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");
}

return 0;
}
Editor is loading...
Leave a Comment