Stampa matrice.

di il
10 risposte

Stampa matrice.

Salve a tutti, sto studiando gli array e ho pensato per iniziare di fare un programma che stampi una matrice alla quale inserisco dei valori.

Il programma è questo: Funziona tutto tranne che stampa i valori tutti su una riga quando vorrei che li stampasse appunto a matrice.

ad esempio una matrice: mat[3][3]
Mat =

| 1, 2, 3 |
| 0, 1, 4 |
| 5, 6, 7 |

Programma, lo scrivo per facilità su pastebin:


Grazie delle risposte !

10 Risposte

  • Re: Stampa matrice.

    Aggiornato il codice, ti mancava una riga per andare a capo.
  • Re: Stampa matrice.

    Forse non hai salvato? è lo stesso che ho io...scrivimi il link aggiornato perchè ho confrontato con quello che ho scritto ed è uguale.
  • Re: Stampa matrice.

    Secondo me devi:
    1)invertire i cicli, ovvero il primo for è delle colonne ed all'interno c'è un ciclo for delle righe
    questo ciclo "interno" avviene più volte rispetto al ciclo "esterno" e al termine di queste volte (ovvero quando si verifica la condizione di j==numero di valori per riga) dovrai inserire un printf ("/n"); ovvero dovrai stampare a schermo il comando che manda a capo il cursore per poi ripartire con il nuovo ciclo.
    sostanzialmente:
    for (i=0;i<x;i++){
         for (j=0;j<y;j++){
               printf("%d", array[j]);
         }
    printf ("/n");
    }
    
    claro?
  • Re: Stampa matrice.

    Il procedimento è chiaro solo che programmo in c++ e non capisco cosa sia %d grazie !
  • Re: Stampa matrice.

    Ah scusa, io programmo in c...
    allora %d indica al comando di stampa di stampare un numero intero, nello specifico quello che c'è dopo la virgola, ovvero array[j]. quindi verrà sostituito %d con il valore dell'array alla posizione j...
    spero così ti sia più chiaro
  • Re: Stampa matrice.

    Grazie tutto chiaro. MI chiedo sono le in c++ si possa mettere:
    cout <<("%d", array[j]); Proprio con questa sintassi...

    Grazie ancora !
  • Re: Stampa matrice.

    No. Quella è una porcheria a prescindere dal linguaggio.
    In C++ lo scrivi così:
    
          for(int i = 0; i < righe; i++)
            {
                    for(int j = 0; j < colonne; j++)
                    {
                            cout << mat[i][j] <<",";
                    }
                    cout << '\n'; // o cout << end;
            }
    
  • Re: Stampa matrice.

    Si infatti ho risolto mettendo un "\n" dopo il secondo for ! Grazie !
  • Re: Stampa matrice.

    Infatti è quello che intendevo, un \n al termine della scrittura della riga, ovvero del secondo for
  • Re: Stampa matrice.

    Così ho fatto !
Devi accedere o registrarti per scrivere nel forum
10 risposte