Que ce qui ne vas pas dans ce programme ?? (c'est pour un pote)
- include <stdio.h>
int get_option ();
int lire_valeurs(int t[]);
void tri_insertion(int t[],int n);
void view (int t[],int n);
int seek_valeur (int t [],int n,int v);
void delete_element(int t [],int*n, int v);
void main ()
{
int t[100], option,n,v,k;
while((option=get_option()) != -1)
{
switch (option)
{
case 0:
n=lire_valeurs(t);
break;
case 1:
tri_insertion(t,n);
break;
case 2:
view (t,n);
break;
case 3:
printf("\n valeur cherchee:");
scanf("%d",&v);
printf("nombre de repetition de &d:&d",v,k);
break;
case 4:
printf("\n valeur a supprimer:");
scanf("%d",&v);
delete_element (t,&n,v);
break;
}
}
}
int get_option(int*d)
{
printf("saisir le choix desirer:\n 0 pour la lecture\n 1 tri par insertion\n 2 affichage du contenu du tableau\n 3 recherche d'une valeur\n 4 suppression d'une valeur\n -1 quitter\n: %d",d );
while (d==(-1,0,1,2,3,4));
{
scanf("%d",&d);
}
return(*d);
}
int lire_valeurs(int t[])
{
int i,n;
n=100;
for(i=0;i<n&&i!='#';i++)
{
printf("saisir la valeur ");
scanf("%d",&t[i]);
}
return(i);
}
void tri_insertion(int*t,int n)
{
int i,p,j;
int x;
for (i =1; i < n; i++)
{x = t[i];p = i-1;
while (t[p] > x && p-- >0)
{}
p++;
for (j = i-1; j >= p; j--)
{
t[j+1] = t[j];
}
t[p] = x;}
}
void view(int *t,int n)
{
int i;
for(i=0;i<n;i++)
printf ("%d",t[i]);
printf("\n");
}
int seek_valeur(int t[],int n, int v)
{
int Prem;
int Der;
int Mil;
int Trouve;
int k;
Prem=0;
Trouve=0;
k=0;
while ((Prem<= n)&&(Trouve==0))
{
Mil=(Prem+n)/2;
if(t[Mil]==v)
{
Trouve =1 && k++;
if (t[Mil+1]==v)
Mil++;
else
{
if (t[Mil-1]==v)
Mil--;
}
}
else
{
if(t[Mil]>v) Der = Mil-1;
else Prem = Mil +1;
}
return(k);
}
}
void delete_element(int t[],int*n,int v)
{
int i,j;
for(i=0; i<n; i++ )
{
if( t[i]==v)
{
for(j=i; j < n; j++)
{
if( j < n-1)
{
t[j] = t[j+1];
}
else
{
t[j] = 0;
}
}
}
}
}