| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 
 |  
#include <stdio.h>
#include <math.h>
 
#define MAX 10
 
typedef struct tab {
   int t[MAX];
   int fin;
}tab;
 
tab F;
 
int rechercher(tab *S,int elt)
{
   int i;
 
   printf("***elt=%d\n",elt);
   printf("***fin=%d\n",S->fin);
   for(i=0;i<=S->fin;i++)
   {
      printf("cherche=%d\n",S->t[i]);
      if(elt==S->t[i])
         return i;
    }
 
    /*
    0 est une position donc il faut renvoyer autre chose pour detecter
    la non detection :-)
   */
 
    return -1;
}
 
 
//Qui de l'utilité du type de retour
tab inserer(tab *S, int elt)
{
    int i=0;
    while(S->t[i]!=-1)
    {
      printf("coucou \n");
      i++;
    }
    printf("indice i : %d \n",i);
    S->t[i]=elt;
 
    //Remarque la defference
    return *S;
}
 
int main(int arg, char** argv)
{
   int i;
 
   //tab F;
   F.fin = 10;
   for(i=0;i<10;i++)
  {
      F.t[i]=-1;
   }
 
   inserer(&F,5);
   printf("Je regarde la premiè case %d \n",F.t[0]);
   inserer(&F,4);
   inserer(&F,2);
   inserer(&F,6);
   inserer(&F,9);
   inserer(&F,8);
   inserer(&F,7);
   printf("Voici l'indice ou se trouvre la valeur rechercher %d \n   ",rechercher(&F,2));
 
} | 
Partager