|
|||||||
|
|
|
![]() |
|
|
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: 20:26.




















