Ciao a tutti,
mi ritrovo a programmare in C++ dopo anni di stop e mi ritrovo faticosamente a rispolverare le poche conoscenze accumulate in passato.
In particolare ho parecchi problemi con la gestione degli array.
Per il calcolo della dimensione dell'array ho trovato sizeof(A)/sizeof(A[0]), ma da diversi problemi. A questo punto non so se sbaglio il passaggio dell'array nella chiamata a funzione o cos'altro!
Vi posto un pò di codice:
Qualcuno sa dirmi cosa sbaglio?codice:int main (int argc, char * const argv[]) { int A[5]; cout << "Array inserito:\n"; for (int i=0; i<5;i++){ A[i]=rand(); cout << "\n" << A[i]; } cout << "\nlunghezza dell'array: " << sizeof(A)/sizeof(A[0]) << "\n"; //A questo punto il programma stampa correttamente 5 HeapSort h; h.heapsort (A); for (int j=0; j<sizeof(A)/sizeof(A[0]); j++) cout << A[j] << "\n"; cout << "Tempo impiegato: " << delta; system("PAUSE"); return 0; } void HeapSort::heapsort(int A[]){ cout << "Array ricevuto lungo " << sizeof(A)/sizeof(A[0]) << ":\n"; for (int i=0; i<5;i++){ cout << "\n" << A[i]; } //A questo punto viene stampata come dimensione dell'Array 1 (risultato di sizeof(A)=4 / sizeof(A[0])=4) //Ad ogni modo i valori contenuti nell'array sono corretti }
Vi ringrazio!