|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2009
Messaggi: 2
|
[c] Aiuto matrici con liste di liste
Ciao, sto scrivendo un programmino per la creazione e gestione di matrici realizzate con liste di liste.
Finora ho scritto questo codice: Codice:
#include <malloc.h> #include <stdio.h> typedef struct Colonne { int data; struct Colonne *next; } Colonne; typedef struct Matrice { struct Colonne *col; struct Matrice *next; } Matrice; void LeggiMatrice(Matrice *mat, int N, int M) { struct Matrice *y; struct Colonne *temp; int i,j; for(i=0;i<N;i++) { y=mat; for(j=0;j<M;j++) { if((M>1)&&(mat->next==NULL)) { mat->next=(struct Matrice *)malloc(sizeof(struct Matrice)); } if(y->col==NULL) { y->col=(struct Colonne *)malloc(sizeof(struct Colonne)); temp=y->col; printf("\n Inserisci l'elemento in posizione %d %d :",i,j); scanf("%d", & temp->data); } else { while(temp->next=NULL){temp=temp->next;} temp->next=(struct Colonne *)malloc(sizeof(struct Colonne)); temp=temp->next; printf("\n Inserisci l'elemento in posizione %d %d :",i,j); scanf("%d", & temp->data); } y=y->next; } } } void StampaColonne (Matrice *mat) { struct Matrice *c; struct Colonne *r; c= mat->next; r= mat->col; while(c->next==NULL) { printf("\n"); while(r->next==NULL) { printf(" %d ",r->data); r=r->next; } c=c->next; } } int main() { int n,m; struct Matrice *mt; mt=(struct Matrice *)malloc(sizeof(struct Matrice)); printf("\n Numero di righe: "); scanf("%d",&n); printf("\n Numero di colonne: "); scanf("%d",&m); LeggiMatrice(&mt,n,m); StampaColonne(mt); system("pause"); } e da qui presuppongo che ci sia un problema con il passaggio dei valori alla finzione leggi matrice. Non riesco però a risolverlo... qualcuno mi sa aiutare? grazie |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
di che tipo è mt nel main?
di che tipo deve essere il parametro mat nella LeggiMatrice? che cosa fa l'operatore & che usi in questa riga che ti riporto? Codice:
LeggiMatrice(&mt,n,m); ![]() ciao! british |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: May 2009
Messaggi: 2
|
no.. ancora non ci sono...
Allora: mt nel main è di tipo puntatore a matrice, la funzione LeggiMatrice si aspetta in entrata un puntatore a Matrice e l'operatore & che io uso mi serve per passare l'indirizzo del puntatore. La mia funzione LeggiMatrice deve necessariamente ricevere il puntatore, ma non riesco a creare e far funzionare proprio questo, ovvero il primo elemento che creo nel main. |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Mar 2009
Città: Bologna
Messaggi: 1174
|
Quote:
Insomma guarda la funzione StampaColonne, il cui passaggio dei parametri e' corretto, e a cui passi lo stesso puntatore di LeggiMatrice. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:50.