[C++] Problema matrici
Ciao a tutti.
Vi pongo un quesito semplice semplice, che però mi dà problemi.
Devo scrivere una funzione string indirizzo (Matrix M, string N,string C).
La matrice è del tipo 3x2. alla colonna 1 ho un nome, alla colonna due un cognome, e alla colonna 3 l'indirizzo.
Se N e C si trovano nell'opportuna riga, la funzione indirizzo dovrebbe dare l'indirizzo, altrimenti scriverà non trovato.
Premetto che la libreria Matrix è stata scritta dal prof., ma è abbastanza intuibile. Io ho scritto questo.
string indirizzo (Matrix M,string N, string C)
{ int i; int lenr=M.Row();
for(i=0;i
{ if ((M[0]==N)&&(M[1]==C))
{ return (M[2]);}
} return "indirizzo non trovato";
}
Per M.row() intendo il numero di righe. M[0] è la riga i e colonna 0. MI pare sia giusto, infatti quando lo eseguo mi dà la risposta esatta, però crasha. Non riesco a capire cosa possa avere dimenticato. Grazie per chi mi saprà aiutare. Buona serata!
Vi pongo un quesito semplice semplice, che però mi dà problemi.
Devo scrivere una funzione string indirizzo (Matrix
La matrice è del tipo 3x2. alla colonna 1 ho un nome, alla colonna due un cognome, e alla colonna 3 l'indirizzo.
Se N e C si trovano nell'opportuna riga, la funzione indirizzo dovrebbe dare l'indirizzo, altrimenti scriverà non trovato.
Premetto che la libreria Matrix è stata scritta dal prof., ma è abbastanza intuibile. Io ho scritto questo.
string indirizzo (Matrix
{ int i; int lenr=M.Row();
for(i=0;i
{ return (M[2]);}
} return "indirizzo non trovato";
}
Per M.row() intendo il numero di righe. M[0] è la riga i e colonna 0. MI pare sia giusto, infatti quando lo eseguo mi dà la risposta esatta, però crasha. Non riesco a capire cosa possa avere dimenticato. Grazie per chi mi saprà aiutare. Buona serata!

Risposte
Ciao,
se ti dà la risposta esatta, secondo me il problema non è qui ma in un'altra parte di codice. Penso che dovresti mostrare qualcosa in più...
se ti dà la risposta esatta, secondo me il problema non è qui ma in un'altra parte di codice. Penso che dovresti mostrare qualcosa in più...
Se una matrice è \(3\times 2\) allora ci sono 2 colonne e 3 righe.
chiedo scusa, mi sono espresso male.
La matrice deve essere del tipo nx3. se alla riga i e alla colonna 1 c'è N, e alla riga i e alla colonna 2 c'è C, allora devo ricevere la riga i e colonna 3.
Il main è questo
int main()
{ Matrix M (2,3);
M[0][0]="a"; M[0][1]="b";M[0][2]="c";
M[1][0]="f"; M[1][1]="g"; M[1][2]="h";
cout<
system ("pause");}
me lo compila, mi dà la risposta esatta (in questo caso c) ma poi mi arriva un errore, quindi non potrei fare due tentativi..
Penso di aver scritto in modo corretto. E' probabile che ci sia un problema nelle colonne? Se Interessati (non penso), posso copiare la libreria delle matrici (nel caso uno volesse provare a compilarlo)
Grazie a tutti davvero!
La matrice deve essere del tipo nx3. se alla riga i e alla colonna 1 c'è N, e alla riga i e alla colonna 2 c'è C, allora devo ricevere la riga i e colonna 3.
Il main è questo
int main()
{ Matrix
M[0][0]="a"; M[0][1]="b";M[0][2]="c";
M[1][0]="f"; M[1][1]="g"; M[1][2]="h";
cout<
system ("pause");}
me lo compila, mi dà la risposta esatta (in questo caso c) ma poi mi arriva un errore, quindi non potrei fare due tentativi..
Penso di aver scritto in modo corretto. E' probabile che ci sia un problema nelle colonne? Se Interessati (non penso), posso copiare la libreria delle matrici (nel caso uno volesse provare a compilarlo)
Grazie a tutti davvero!

Diciamo che più informazioni abbiamo, più è semplice aiutarti. Se ci metti tutto il codice in un archivio che possiamo scaricare, possiamo poi dirti qualcosa di più preciso e fare qualche tentativo.
Che errore ti dà? Insomma, che ti dice il messaggio?