1 2 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