Salve, devo realizzare questo esercizio:
Realizzare l’operazione di trasposta di 1 matrice.
Il tipo di dato matrice deve essere rappresentato come una lista lineare.
Ho pensato di creare due strutture, una contenente la lista e un'altra contenente il numero delle righe e delle colonne.
Secondo voi è giusto il modo in cui ho strutturato il codice o si può fare di meglio?
typedef struct Nodo{
int dato;
struct Nodo *prox;
}Nodo;
typedef Nodo *Lista;
typedef struct{
int righe;
int colonne;
}matrice;
int main(void){
Lista a; //lista contenente la matrice da trasporre
Lista trasposta; //lista contenente la matrice trasposta
matrice p; // dimensioni matrice da trasporre
matrice t; //dimensioni matrice trasposta
int Vett[DIM] = {1, 2, 3, 4, 5, 6};
a = Inizializza(); //inizializza a NULL
trasposta = Inizializza(); inizializza a NULL
a = ScriviMatrice(a, &p, Vett); //viene inserito all'interno di "lista a" il vettore Vett e vengono scritte le dimensioni di questa matrice in
//"matrice p"
StampaMatrice(a, p); //viene stampata la "lista a", leggendo le sue dimensioni da "matrice p"
trasposta = TraspostaMatrici(a, &t, p, trasposta);//viene inserita all'interno di "lista trasposta" la matrice trasposta che viene creata leggendo i
// valori contenuti in "lista a", inoltre vengono scritte le dimensioni della matrice trasposta
// in "matrice t"
StampaMatrice(trasposta, t); //viene stampata la matrice trasposta leggendo i valori contenuti in "lista trasposta", leggendo le sue dimensioni
// da "matrice t"
return 0;
}