[C++] Problema matrici

boerobest
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! :)

Risposte
minomic
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ù...

vict85
Se una matrice è \(3\times 2\) allora ci sono 2 colonne e 3 righe.

boerobest
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! :)

minomic
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.

vict85
Che errore ti dà? Insomma, che ti dice il messaggio?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.