Tri d'un tableau et recherche

Ben42 -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour ! J'ai écrit un programme qui permet de trier un tableau d'entier par ordre croissant; et je dois maintenant le compléter pour qu'il recherche un entier donné en argument. Voici ce que j'ai écrit (le script n'est pas en entier, le reste marche parfaitement, c'est vraiment ici que ca me saoule) :

int r;

printf("Entrez l'entier recherché : ");
scanf("%d",&r);

for (i=0 ; i<d ; i++) {
if (tab[i] != r) { //tab est le tableau trié.
printf("L'entier %d n'est pas présent dans le tableau\n",r);
return 0;
}

else {
printf("L'entier %d est présent dans le tableau\n",r);
return 1;
}

Et chaque fois que je l'exécute, il m'écrit "L'entier %d n'est pas présent dans le tableau", mais qd je rentre un entier qui est dans le tableau !!

Pouvez vous m'aider svp ! :D

1 réponse

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Algorithmiquement, c'est faux.
    for (i=0 ; i<d ; i++) {
    if (tab[i] != r) { //tab est le tableau trié.

    Dès la 1ere itération, si c'est différent, tu affiches que l'élément n'est pas présent dans le tableau.

    Il faut parcourir tout le tableau avant de dire que l'élément est absent du tableau.
    Cela donnerait :

    Saisir r
    Pour chacun des éléments du tableau
    Si élément == r Alors
    Afficher "r est présent dans le tableau"
    Fin Fonction
    Fin Si
    Fin Pour
    Afficher "r est absent du tableau"
    --

    Google is your friend
    0