(Matrice multidimensionale in C) Come rendere il mio output in una posizione verticale piuttosto che in orizzontale quando la dimensione dell'array è n [3] [4] [chiuso]

-1

Mi piacerebbe avere un aiuto.

Devo trovare un modo in cui l'output deve essere:

A    B    C
90   60   80
50   100  70
100  20   100
10   50   75

Perché l'output precedente è:

A 90 50 100 10
B 60 100 20 50
C 80 70 100 75

E mi dà una certa confusione su come arrivare a quell'output.

Questo è il codice che ho:

 char n[3]={'A','B','C'};
 int s[3][4]={90,50,100,10,60,100,20,50,80,70,100,75};
 float average=0;
 int x, y, max=0, min=0, total=0;

 for(x=0;x<3;x++)
 {
      printf("%c\t",n[x]);
      for(y=0;y<4;y++)
      { 
            printf("%d\t",s[x][y]);
      }
      printf("\n");
 }

Potrebbe essere semplice per te, ma lo trovo difficile per me. Grazie in anticipo per tutto il vostro aiuto. (P.S. Sono uno studente quindi prova a usare parole facili da capire e un'altra cosa è che non sono bravo in inglese)

    
posta Carbine Alejandro 31.01.2016 - 10:26
fonte

1 risposta

2

qui c'è un metodo per produrre i risultati desiderati

#include <stdio.h>

int main( void )
{
    char n[3]={'A','B','C'};
    int s[3][4] =
    {
        {90,50,100,10},
        {60,100,20,50},
        {80,70,100,75}
    };
    //float average=0;
    int x;
    int y;
    //int max=0;
    //int min=0;
    //int total=0;

    // to print in 'column' order

    printf( "%c\t%c\t%c\n", n[0], n[1], n[2] );

     for( x=0; x<4; x++ ) // column of array s[][x]
     {
          //printf("%c\t",n[x]);
          for( y=0; y<3; y++) // row of array s[y][]
          {
                printf("%d\t",s[y][x]);
          }
          printf("\n");
     }
} // end function: main

il codice precedente produce il seguente output, in cui ogni campo è separato dal seguente campo da un <tab> :

A   B   C
90  60  80  
50  100 70  
100 20  100 
10  50  75  
    
risposta data 31.01.2016 - 18:29
fonte

Leggi altre domande sui tag