#include<stdio.h>
#include<stdlib.h>
int lire(int n)
{
do
{
printf("donner la taille du tableau (max.75) : ");
scanf("%d",&n);
printf("\n");
}
while(n<1 || n>75);
return n;
}
void generer(float T[],int n)
{
int i;
for(i=1;i<=n;i++)
{T[i]=rand()%100+1;}
}
void tri_bulle(float T[],int n)
{
int i,k;
float ech;
do{
k=0;
for (i=1;i<n;i++)
{
if (T[i]>T[i+1])
{ ech=T[i];
T[i]=T[i+1];
T[i+1]=ech;
k=1;
}}}
while(k!=0);
}
void tri_rapide(float T[],int n,int gauche,int droite)
{
int i,j,k,pivot;
float x;
i=gauche;
j=droite;
pivot=(i+j)/2;
while(i<=j)
{
while(T[i]<T[pivot])
{ i++; }
while(T[j]>T[pivot])
{ j--; }
if (i<=j)
{
x=T[i];
T[i]=T[j];
T[j]=x;
i++;
j--;
}}
if(gauche<j)
{ tri_rapide(T,n,gauche,j); }
if(droite>i)
{ tri_rapide(T,n,i,droite); }
}
void tri_insertion(float T[],int n)
{
int i,j;
for(i=2;i<=n;i++)
{
T[0]=T[i];
j=i-1;
while(T[0]<T[j])
{
T[j+1]=T[j];
j--;
}
T[j+1]=T[0];
}
}
void afficher (float T[],int n)
{
int i;
for(i=1;i<=n;i++)
printf("T[%d]=%f \n",i,T[i]);
printf("\n");
}
void menu(float T[],int n)
{
int choix;
do
{
printf("|1 | : lire la taille du tableau\n");
printf("|2 | : generer les elements du tableau \n");
printf("|3 | : Tri à bulle \n");
printf("|4 | : Tri rapide \n");
printf("|5 | : Tri insertion \n");
printf("|6 | : Afficher le tableau \n");
printf("|7 | : Quitter \n");
printf("donner votre choix : ");
scanf("%d",&choix);
printf("\n\n");
switch(choix)
{
case 1: n=lire(n);break;
case 2: generer(T,n);afficher(T,n);break;
case 3: tri_bulle(T,n);afficher(T,n);break;
case 4: tri_rapide(T,n,1,n);afficher(T,n);break;
case 5: tri_insertion(T,n);afficher(T,n);break;
case 6: afficher(T,n);break;
}
} while(choix!=7);
}
main()
{
float T[75];
int n;
menu(T,n);
system("pause");
return 0;
}
#include<stdlib.h>
int lire(int n)
{
do
{
printf("donner la taille du tableau (max.75) : ");
scanf("%d",&n);
printf("\n");
}
while(n<1 || n>75);
return n;
}
void generer(float T[],int n)
{
int i;
for(i=1;i<=n;i++)
{T[i]=rand()%100+1;}
}
void tri_bulle(float T[],int n)
{
int i,k;
float ech;
do{
k=0;
for (i=1;i<n;i++)
{
if (T[i]>T[i+1])
{ ech=T[i];
T[i]=T[i+1];
T[i+1]=ech;
k=1;
}}}
while(k!=0);
}
void tri_rapide(float T[],int n,int gauche,int droite)
{
int i,j,k,pivot;
float x;
i=gauche;
j=droite;
pivot=(i+j)/2;
while(i<=j)
{
while(T[i]<T[pivot])
{ i++; }
while(T[j]>T[pivot])
{ j--; }
if (i<=j)
{
x=T[i];
T[i]=T[j];
T[j]=x;
i++;
j--;
}}
if(gauche<j)
{ tri_rapide(T,n,gauche,j); }
if(droite>i)
{ tri_rapide(T,n,i,droite); }
}
void tri_insertion(float T[],int n)
{
int i,j;
for(i=2;i<=n;i++)
{
T[0]=T[i];
j=i-1;
while(T[0]<T[j])
{
T[j+1]=T[j];
j--;
}
T[j+1]=T[0];
}
}
void afficher (float T[],int n)
{
int i;
for(i=1;i<=n;i++)
printf("T[%d]=%f \n",i,T[i]);
printf("\n");
}
void menu(float T[],int n)
{
int choix;
do
{
printf("|1 | : lire la taille du tableau\n");
printf("|2 | : generer les elements du tableau \n");
printf("|3 | : Tri à bulle \n");
printf("|4 | : Tri rapide \n");
printf("|5 | : Tri insertion \n");
printf("|6 | : Afficher le tableau \n");
printf("|7 | : Quitter \n");
printf("donner votre choix : ");
scanf("%d",&choix);
printf("\n\n");
switch(choix)
{
case 1: n=lire(n);break;
case 2: generer(T,n);afficher(T,n);break;
case 3: tri_bulle(T,n);afficher(T,n);break;
case 4: tri_rapide(T,n,1,n);afficher(T,n);break;
case 5: tri_insertion(T,n);afficher(T,n);break;
case 6: afficher(T,n);break;
}
} while(choix!=7);
}
main()
{
float T[75];
int n;
menu(T,n);
system("pause");
return 0;
}