quel est le probleme de ma méthode init_tab ? le programme s'arrete aprse etre passé dans cette méthode, il plante, et ne rentre pas dans la méthode de tri_bulle...
j'ai pas mis tout le programme, c'est normal qu'il y ait un grand menu,
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
#define MAX 1000000
/************************ programme principal ****************************/
void main(void)
{
/* déclarations */
int choix=0,cont;
cont=1;
while(cont==1){
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\t1\t Pour :\t Lancer le prog de tri a bulle\n\n");
printf("\t\t2\t Pour :\t Lancer le prog de tri par insertion\n\n");
printf("\t\t3\t Pour :\t Lancer le prog de tri par ext\n\n");
printf("\t\t4\t Pour :\t Lancer le prog de tri shell\n\n");
printf("\t\t5\t Pour :\t Lancer le prog de tri fusion\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);
switch(choix)
{
case 1 :
init_tab();
tri_bulle();
break;
case 2 : tri_ins();
break;
case 3 : tri_ext();
break;
case 4 : tri_shell();
break;
case 5 : tri_fusion();
break;
case 6 : tri_rapide();
break;
default : cont=0; /* sortie du programme*/
}
}
}
/****************************tri bulle*********************************/
void init_tab() {
int nb,i,j,v,tab[MAX]; /* Déclarations */
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++) /* Remplissage du tableau aléatoirement */
tab[i]=rand();
printf("Les valeurs avant le tri : "); /* affichage du tableau */
for(i=0; i<nb;i++)
printf("\n%d ",tab[i]);
}
int tri_bulle()
{
int nb,i,j,v,tab[MAX]; /* Déclarations */
for (i=0; i<nb; i++) /* tri */
for (j=nb-1; j>i; j--)
if (tab[j-1]>tab[j])
{
v=tab[j-1];
tab[j-1]=tab[j];
tab[j]=v;
}
printf("\n\nLes valeurs apres le tri :"); /* affichage du tableau */
for(i=0; i<nb;i++)
printf("\n%d ",tab[i]);
system("PAUSE");
}