Bonjour, je dois écrire un programme en C avec deux fonctions, une qui enregistre 10 valeurs dans un tableau-vecteur de type entier, et une qui vérifie si une valeur saisie est bien dans le tableau. Mais cela ne fonctionne pas, déjà la fonction qui entre les valeurs m'en fait rentrer 11 au lieu de 10, et arrivé a la saisie du nombre a recherché, il n’exécute pas le scanf. J'aimerai savoir si vous avez une idée là dessus.
Voilà le code :
- include <stdio.h>
- include <stdlib.h>
- define N 10
/* La fonction qui saisie 10 entiers et les rangent dans le vecteur. */
void saisie_vecteur(int v[])
{
int i;
for (i = 0; i < N; i = i+1)
{
scanf("%d ", &v[i]);
}
}
/* La fonction qui recherche si une valeur x est dans le vecteur. */
int recherche(int x,int v[])
{
int i, result;
i = 0;
result = -1;
while((i < N) && (result = -1))
{
if (x != v[i])
{
i = i+1;
result = -1;
}
else
result = i;
}
return (i);
}
/* Le main qui fait appel au fonction. */
int main()
{
int v[N], x, Resultat;
printf("Veuillez saisir 10 entiers a memoriser dans le vecteur\n");
saisie_vecteur(v);
printf("Veuillez saisir une valeur a rechercher dans le vecteur\n");
scanf("%d", &x);
Resultat = recherche(x, v);
if (Resultat = -1)
printf("Le nombre ne se trouve pas dans le vecteur");
else
printf("Le nombre %d se trouve a l'indice %d du vecteur", x, Resultat);
return 0;
}
Merci d'avance !