Quote:
Originariamente inviato da Death By Stereo
1) sarebbe meglio poter inserire parole senza alcun limite prefissato anche se non vorrei complicarmi troppo la vita visto che comunque credo che le esigenze pratiche non superino mai le 1000-2000 parole.
|
Ok, allora iniziamo col dire che devi usare un
array di puntatori a char. Ogni elemento in questo array è un puntatore di tipo
char* che punta ad una stringa.
Se si volesse mettere un limite prefissato, si potrebbe fare ad esempio:
char *stringhe[50];
Se le stringhe sono davvero tante o se si vuole fare in modo da poter "allungare" l'array a tempo di esecuzione, è necessario dichiarare l'array in questo modo:
char **stringhe;
stringhe = (char**) calloc (1000, sizeof (char*));
(ho usato calloc perché così almeno la memoria viene inizializzata a 0, i puntatori in pratica sono messi a NULL).
Avendo allocato dinamicamente l'array si potrebbe, durante l'esecuzione, aumentare facilmente la dimensione dell'array.
Comunque una volta che hai l'array, fai un ciclo for al cui interno allochi spazio per ogni singola stringa e poi effettui l'input ad esempio con la funzione fgets().
Quote:
Originariamente inviato da Death By Stereo
2) l'algoritmo quicksort lo devo implementare io, mi è stato espressamente vietato l'uso della funzione già fatta (sapete è un compito dell'università  )
|
Ok, allora ti sarà sicuramente molto utile il link che ti è già stato segnalato su Wikipedia.