Ho scritto questo programma,che mi stampa pero' numeri altissimi e casuali che non hanno niente a che vedere con i valori della matrice che scelgo io con scanf.
Ha 0 errori e 0 warnings.
Ecco il codice:
codice:
#include <stdio.h>
#define COLONNE 10;
typedef int matrice[3][3];
void trasposta(matrice);
matrice mat;
main()
{
    int i,j,k,l;
    printf("Digita elementi matrice");
    for(i=0;i<3;i++)
      for(j=0;j<3;j++)
      {
        printf("Digita elemento riga%d,colonna%d: ",(i+1),(j+1));
        scanf("%d",&mat[i][j]);
        while(getchar()!=10)
          ;
      }
    printf("Visualizzazione matrice trasposta:\n");
    trasposta(mat);
    for(k=0;k<3;k++)
    {
      if(k>=1)
        printf("\n");
      for(l=0;l<3;l++)
        printf("%d;",mat[k][l]);
    }
    return 0;
}
void trasposta(matrice m)
{
    int i,j,mat[3][3];
    for(i=0;i<3;i++)
      for(j=0;j<3;j++)
        m[i][j]=mat[j][i];
    for(i=0;i<3;i++)
      for(j=0;j<3;j++)
        mat[i][j]=m[i][j];
}
Siccome mat e' una variabile globale,in teoria dovrebbe funzionare,cosa c'e' che non va ?