/************************ tri rapide ****************************/
void init_tab(){
int i,nb,tab[MAX];
srand(time(NULL)); /* Initialisation du générateur aléatoire avec la fontion time */
printf("\n\n Nombre de valeurs a trier (du tableau) : ");
scanf("%d", &nb); /* Demande le nombre d'éléments à trier */
printf("\n");
for(i=0;i<nb;i++)
tab[i]=rand();
printf("Les valeurs avant le tri : ");
for(i=0; i<nb;i++)
printf("\n%d ",tab[i]);
}
void affich_tab(int tab[],int taille) {
int i;
printf("\n\nLes valeurs apres le tri :");
for(i=0; i<taille;i++)
printf("\n%d ",tab[i]);
}
// réordonne le tableau et rend l'indice de séparation
int permutation(int T[], int a, int b) { int i, j, pivot, bi a, bs b, r, TI[b];
for(i=a;i <= b;i++) {
T[i] = TI[i];
if (T[i] == pivot) { r = i; }
}
return r;
}
void rapide(int T[], int a, int b) {
int separe;
if (a < b) {
separe = permutation(T, a, b);
rapide(T, a, separe-1);
rapide(T, separe+1, b);
}
}
void tri_rapide() {
int i,nb,tab[MAX];
init_tab();
rapide(tab, 0, nb-1);
affich_tab(tab,nb);
system("PAUSE");
main();
}
/************************ programme principal ****************************/
int main()
{
/* déclarations */
int choix=0;
printf("\n\n\t\t\t ****************\n");
printf("\t\t\t *MENU PRINCIPAL*\n");
printf("\t\t\t ****************\n\n\n\n");
printf("\t TAPEZ :\n\n\n\n");
printf("\t\t6\t Pour :\t Lancer le prog de tri rapide\n\n");
printf("\t\t7\t Pour :\t Quitter le programme\n\n\n");
printf("\t CHOIX : ");
scanf("%d",&choix);
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 5 févr. 2005 à 18:22
Alors déja tu fais un rand sans inclure la librairie <time.h>
En suite, tu dis à une fonction, d'aller dans la fonction suivante, mais la fonction suivante est déclarée en dessous.
En Sachant que ton compilateur lit ligne par ligne, c'est un peu normal qu'il refuse.
Donc solution, définit des prototypes pour tes fonctions.
Un prototype est le nom de la fonction, le type, et ses arguments placés à la suite de tes includes.