dunque, il main è corretto, il problema è nella riga contrassegnata in bluOriginariamente inviato da Tigre851
la funzione inserisci chiama allunga:
codice:void inserisci(int elemento, int elem[], int* x[]){ int posizione = elemento/100; /* qui potevi anche fare così */ /* int i = elemento % 100; */ int i = elemento - (posizione * 100); if (elem[posizione] == -1){ x[posizione] = new int[1]; elem[posizione] = 1; } if (elem[posizione] < i){ x[posizione] = allunga(x,elem[posizione],i) inizializza(x[posizione]); elem[posizione]=i; } x[posizione][i] = elemento; }
correggi così
comunque, il compilatore che hai usato ti avrebbe dovuto segnalare questo errorecodice:x[posizione] = allunga(x[posizione],elem[posizione],i);
a.cpp: In function `void inserisci(int, int*, int**)':
a.cpp:25: error: cannot convert `int**' to `int*' for argument `1' to `int*
allunga(int*, int, int)'
quale hai usato e che versione?
io ho usato gcc ver. 3.3.2
ah, la funzione inizializza cosa fa?

Rispondi quotando