Spostare colonne in una matrice

di il
2 risposte

Spostare colonne in una matrice

Ciao a tutti stavo creando un piccolo programma che aveva come obiettivo quello di spostare le colonne qualora ci fosse uno spazio libero sotto la colonna da spostare. In particolare in questo codice la terza.
Definita tale matrice
char campo[4][3]={
        'g', ' ', 'b',
        'a', 'b', 'r',
        'r', 'b', ' ',
    };
Vado a scrivere tale codice:
int r=0;
int c=2;
if (rig + 2 < 3 && campo[c][r + 2] == ' ') {
        campo[c][r + 2] = campo[c][r + 1];
        campo[c][r + 1] = campo[c][r + 0];
        campo[c][r + 0] = ' ';
    }
    for(int j=0; j<3; j++){
        for(int i=0; i<4; i++){
            printf("%c ", campo[j][i]);
        }
        printf("\n");
    }
solo che non mi sposta la colonna verticalmente, non so se sbaglio nel corpo dell'if oppure nella stampa del ciclo for anche se ho provato a scrivere
for(int i=0; i<4; i++){
        for(int j=0; j<3; j++){
            printf("%c ", campo[i][j]);
        }
        printf("\n");
    }
e ottengo lo stesso risultato ossia non riesco a spostare verso il basso la colonna.
Mi sapete dire dove è che sbaglio?
Graziee!

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte