/* Scrivere un programma che, data una matrice quadrata (dimensione NxN), ritorni:
- La diagonale della prima matrice;
- La trasposta della prima matrice;
- Il massimo elemento della matrice; */

#include <stdio.h>

int main() {

    int N;
    int i,j;

    printf("Quante righe-colonne vuoi? ");
    scanf("%d" , &N);
    if(N<0){

        printf("Coglione!");
    }else{ 
    
    int mat[N][N]; // Se metto prima assume tutti valori 0, poi sovrascrive sopra quelli 

    for(i=0; i<N; i++){

        for(j=0; j<N; j++){

            printf("Inserisci il numero per la riga %d e la colonna %d: " , i , j);
            scanf("%d" , &mat[i][j]);
            
        }
    }
    
    int max = mat [0][0]; // Metto come massimo provvisorio il primissimo valore della matrice

    printf("\nEcco la tua matrice:\n");

    for(i=0; i<N; i++){                 // Ciclo esterno: seleziona la riga
        
        for(j=0; j<N; j++){             // Ciclo interno: scorre le colonne di quella riga
            
            printf("%d  ", mat[i][j]);  // Stampa il numero seguito da uno spazio
        }
        
        printf("\n");                   // FONDAMENTALE: Finito di stampare la riga, va a capo!
    }

   printf("\nLa diagonale principale è: ");
    
    for(i=0; i<N; i++){

        printf("%d " , mat[i][i]); // Basta un ciclo for in cui uso solo una delle due variabili
    }

    printf("\nLa matrice trasposta è: \n");

    for(i=0; i<N; i++){                 
        
        for(j=0; j<N; j++){             
            
            printf("%d  ", mat[j][i]);  /* Dico alla printf di leggere le coordinate semplicemente al contrario 
                                           rispetto a come girano i cicli */
        }
        
        printf("\n");                   // FONDAMENTALE: Finito di stampare la riga, va a capo!
    }

    for(i=0; i<N; i++){

        for(j=0; j<N; j++){

            if(mat[i][j]>max){

                max = mat[i][j];
            }
        }
    } printf("\nIl valore massimo della matrice è: %d" , max);
        
    }

    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: