Un erreur de compilation au C

yedez Messages postés 80 Statut Membre -  
yedez Messages postés 80 Statut Membre -
Bonjour,
a chaque fois que je fais la compilation il une erreur qui s'affiche "undefined reference to while " qqn peut m'aider plzzz??? voila le pg
#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_valeurs(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("\nValeur Cherchee:");
scanf("%d",&v);
k=seek_valeurs(t,n,v);
printf( "nombre de Repetition de %d:%d",v,k);
break;

case 4:
printf("\nValeurs A supprimer:'");
scanf ("%d",&v);
delete_element(t,&n,v);

break;

}
}
}
int get_option()
{
int p;
printf("donner la valeur de p");
scanf("%d",&p);

if (p==0)
printf ("remplir le tableau");

else
if (p==1)
printf("Trier le tableau");
else
if (p==2)
printf ("afficher le tableau");
else
if (p==3)
printf ("cherchez la valeur demandee");
else
if (p==4)
printf (" supprine la valeur demandee");

return(p);

}

int lire_valeurs(int t[])
{
int i;
i=0;

while ((t[i]=lire_val())!=-1)
i++;

return(i);
}
int lire_val()
{
int val;
scanf("%d",&val);
return(val);
}
void tri_insertion(int t[],int n)

{
int i,X,j;
for (i=1;i<n-1;i++)
{
X=t[i];
j=i;
While((X<t[j-1])&&(j>0));
{
t[j]=t[j-1];
j=j-1;
}
t[j]=X;
}
}

void view(int t[],int n)
{
int i;
for (i=0;i<n-1;i++)
printf ("le tableau trie est %nd ",t[i]);
}

int seek_valeurs(int t[],int n,int v)
{
int deb,fin,m,k;
k=0;
for (deb=0;fin=n-1;m=(deb+fin)/2)
{

if (t[m]>v)
fin=m-1;
else
if (t[m]<v)
deb=m+1;
else if (t[m]=v)
{
k=k+1;
deb=m+1;
return (k);
}

}
return(-1);
}

void delete_element(int t[],int *n, int v)

{
int i,j;
for (;i=0;i<*n-1)
{
if (t[i]=v)
{

decalage (t,*n,i);

}
i++;

}

}
decalage (int t[],int *n, int p)
{int j;
for (j=p;j<*n-1;j++)
{
t[j]=t[j+1];
*n=*n-1;

}
}

5 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
C'est parce que tu as écris
While((X<t[j-1])&&(j>0));
avec un W majuscule. Le langage C est sensible à la casse, donc "while" existe mais "While" non.

Remarque :
Enlèves le point virgule à la fin de ta condition pour avoir
while((X<t[j-1])&&(j>0))
sinon tu vas avoir des surprises...
1
yedez Messages postés 80 Statut Membre 2
 
bon merci bcp pr votre aide mai je suis un peu gourmande et g vous demande qqe chose de + ma fct de seek_valeurs normalemet elle doit renvoyer l'occurence de v mai a son execution une alerte s'annonce et m'avertit que "windows a arrete de fonctionner " et le pg ne fonctionne plus ???? repondez moi plss :)
0
KX Messages postés 19031 Statut Modérateur 3 020
 
"windows a arrete de fonctionner "
C'est un peu violent ça...

Si tu as réussi à exécuter ton programme c'est que tu as apporté un certain nombre de corrections à ton code de tout à l'heure pour qu'il compile. Donc indiques nous le nouveau code que tu utilises désormais et qui provoque cette erreur.

Remarque : pour plus de lisibilité, utilises les balises de code (à côté des boutons gras, italique et souligné) afin de conserver l'indentation de ton programme.
De plus merci de prendre le temps de te relire pour corriger ton français, supprimer les abréviations et tout ce qui gène la compréhension de tes questions (voir Conseils d'écriture).
0
yedez Messages postés 80 Statut Membre 2
 
d'accord :j'essayerai d'etre plus attentive :p xd
0
yedez Messages postés 80 Statut Membre 2
 
#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_valeurs(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("\nValeur Cherchee:\n");
scanf("%d",&v);
k=seek_valeurs(t,n,v);
printf( "nombre de Repetition de %d:%d",v,k);
break;

case 4:
printf("\nValeurs A supprimer:'");
scanf ("%d",&v);
delete_element(t,&n,v);

break;

}
}
}
int get_option()
{
int p;
printf("donner la valeur de p");
scanf("%d",&p);

if (p==0)
printf ("remplir le tableau\n");

else
if (p==1)
printf("Trier le tableau\n");
else
if (p==2)
printf ("afficher le tableau\n");
else
if (p==3)
printf ("cherchez la valeur demandee ");
else
if (p==4)
printf (" supprine la valeur demandee ");

return(p);

}

int lire_valeurs(int t[])
{
int i;
i=0;

while ((t[i]=lire_val())!=-1)
i++;

return(i);
}
int lire_val()
{
int val;
scanf("%d",&val);
return(val);
}
void tri_insertion(int t[],int n)

{
int i,X,j;
for (i=1;i<n;i++)
{
X=t[i];
j=i;
while ((X<t[j-1])&&(j>0))
{
t[j]=t[j-1];
j=j-1;
}
t[j]=X;
}
}

void view(int t[],int n)
{
int i;
for (i=0;i<n;i++)
printf (" %d",t[i]);

}
int seek_valeurs(int t[],int n,int v)
{
int deb,fin,m,k;
k=0;
for (deb=0;fin=n-1;m=(deb+fin)/2)
{

if (t[m]>v)
fin=m-1;
else
if (t[m]<v)
deb=m+1;
else
{

k=k+1;
deb=m+1;
return (k);
}

}

}

void delete_element(int t[],int *n, int v)

{
int i,j;
for (i=0;i<*n-1;i++)
{
if (t[i]=v)

decalage (t,*n,i);

}

}
void decalage (int t[],int *n, int p)
{int j;
for (j=p;j<*n-1;j++)
{
t[j]=t[j+1];
*n=*n-1;

}
}
0
yedez Messages postés 80 Statut Membre 2
 
any answer please ^_^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yedez Messages postés 80 Statut Membre 2
 
une reponse s'il vous plait :'(
0