PDA

View Full Version : [c#] resizzare una matrice


]Rik`[
03-09-2007, 17:33
come da oggetto, devo avere a disposizione una matrice (visibile per tutto il programma) che posso poter resizzare a runtime, dato che può avere come dimensione 15x15, 20x20 e 25x25, a seconda della scelta dell'utente. durante lo svolgimento del programma la matrice potrà cambiare dimensione ma il vecchio contenuto potrà andare perso senza problemi...avete consigli?

avevo trovato un comodissimo array.resize ma non funziona soltanto per gli array monodimensionali!

PGI-Bis
03-09-2007, 20:15
Supponendo che resizzare significhi ridimensionare, l'array ed il suo metodo resize vanno benissmo. Rappresentare una matrice 2d con un array è veramente facile. Se R è il numero di righe e C il numero di colonne, l'array dietro le quinte avrà lunghezza (R per C).

L'accesso ai componenti della matrice tramite indice di riga r e indice di colonna c è:

[r per C + c]

E qui finisce la matrice. Ridimensionare quest'affare, scartando i valori precedenti, significa prendere in input un nuovo R ed un nuovo C e creare un nuovo array RxC. Espandere la matrice conservando i valori precedenti è altrettanto rapido.

mjordan
04-09-2007, 05:25
"resizzare" :asd:

]Rik`[
04-09-2007, 10:27
"resizzare" :asd:

:D

ho comunque risolto, grazie :)

mjordan
05-09-2007, 05:19
Ieri ho visto una bella ragazza e cavolo, mi si è resizzato. L'array, che avete capito :rotfl: