Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
e questo significa, ad esempio, che size e' passato per indirizzo, ovvero hai il puntatore al valore di size (lo stesso per gli altri due parametri).
Quando sei all'interno della funzione, se scrivi
printf(" %d ",size);
vuol dire che stai visualizzando il puntatore al valore di size, e non il valore di size. Tenere conto del fatto che e' un puntatore significa che devi scrivere
printf(" %d ", *size);
per ottenere il valore della variabile puntata.
E cosi' anche quando utilizzi tali valori nella formula
x=rand()%((int)size-(int)length+1)+(int)length
Fra l'altro, utilizzi delle variabili i e j e non si capisce dove le vuoi usare in seguito.
Comincia a cambiare questa parte di codice e poi controlliamo il resto ...
P.S. Non mi dire che vuoi che te lo riscriva tutto io, perche' non ne avrei il tempo e poi non sarebbe utile per te ... e' utilissimo imparare a correggere i propri errori per capirlo ... se lo fanno gli altri, non serve proprio a nulla.
Ultima modifica effettuata da gantonio il 10/06/2008 alle 17:44
in function Exchange:
linea 8,10,12 - 8 subscripted value is neither array nor pointer;
in function partition
Linea 25 [Warning] assignment makes integer from pointer without a cast;
Linea 38 [Warning] passing arg 1 of `exchange' makes integer from pointer without a cast ;
Linea 43 [Warning] passing arg 1 of `exchange' makes integer from pointer without a cast (tesso mess per arg 2);
in function Loadlist:
Linea 100 [Warning] assignment from incompatible pointer type ;
Linea 102 [Warning] comparison between pointer and integer .
poi hai cambiato diverse volte in modo quasi casuale ...
Scusa ma ho l'impressione che tu non abbia assolutamente nessuna idea di quello che stai scrivendo ...
In questo modo, non e' per scoraggiarti, ma non vai da nessuna parte ... per programmare in C e' fondamentale una OTTIMA preparazione di base (devi avere chiarissimi i concetti di variabile, array, puntatore ...) ...
Altrimenti farai solamente un copia-incolla ...
Ultima modifica effettuata da gantonio il 10/06/2008 alle 19:59
ok ho risolto quell'errore seguendo il tuo consiglio...Ecco qua!!!
ora si blocca alla fine...
non da errorri ma solo warning:
in function partition:
linea 31 e 33 - [Warning] comparison between pointer and integer
in function quicksort:
linea 58 - 58 [Warning] return makes integer from pointer without a cast;
in function loadlist:
Linea 102 e 106 - 102 [Warning] assignment makes integer from pointer without a cast;
Linea 104 - [Warning] comparison between pointer and integer
linea 112 -[Warning] return from incompatible pointer type;
in function main:
Linea 138 - 138 [Warning] assignment makes integer from pointer without a cast .
guarda che nn sembra ma con i tuoi suggerimenti sto capendo un sacco di cose....
come risolvo questi warning????
come dice il messaggio, stai confrontando valori numerici interi e puntatori ... e questo portera', se ti va bene, ad un malfunzionamento oppure in un crash ...
Esamina TUTTI i warning, correggili e solo allora posta il codice ...