Bonjour
je suis actuellement en DUT informatique, j'ai un devoir à rendre pour lundi seulement je n'arrive pas à resoudre un probléme et donc voir si il y en d'autre. lors de la compilation j'ai l'erreur suivante :
"94: attention : passing argument 1 of ‘triecroissant’ makes pointer from integer without a cast"
seulement en cours je n'ai pas encore fait les pointeurs je ne sais donc pas comment résoudre cette erreur cependant je pense que c'est le fait de dire qu'un tableau est égal à un autre à la ligne 94. voici mon code :
je vous remercie par avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
74
75
76
77
78
79
80
81
82
83
84
85
86 #include <stdio.h> #define MAX 20 int triecroissant(int tab[MAX]) { int j,i,n=MAX; int aux; do { j=0; for(i=0;i<n;i++) { if(tab[i]>tab[i++]) { aux=tab[i]; tab[i]=tab[i++]; tab[i++]=aux; j=1; } n--; } } while(j==1 && n>1); return(tab[MAX]); } int trichotomie(int tabtrie[MAX],int nb) { int debut=0; int fin=MAX-1; int tiers=(MAX-2)/3; int deuxtiers=2*(MAX-2)/3; int c=0,trouve=0; do { if(tabtrie[tiers]==nb) { trouve=1; } else if(tabtrie[deuxtiers]==nb) { trouve=1; } else if(tabtrie[tiers]>nb) //recherche dans le premier tiers { fin=tiers; } else if(tabtrie[deuxtiers]>nb) //recherche dans le deuxiéme tiers { debut=tiers; fin=deuxtiers; } else if(tabtrie[deuxtiers]>nb) //recherche dans le troisiéme tiers { debut=deuxtiers; fin=MAX; } c++; } while(trouve==0 && debut<fin); return(c); } int main() { int tab[MAX],i,nb; int tabtrie[MAX]; int position; printf("bonjour entrez une valeur à la fois nous vous en demanderons 20\n"); for(i=0;i<MAX;i++) { printf("entrez la %d ieme valeur",i); scanf("%d",&tab[i]); i++; } printf("Veuilllez entrez le nombre à rechercher dans le tableau"); scanf("%d",&nb); tabtrie[MAX]=triecroissant(tab[MAX]); position=trichotomie(tabtrie,nb); printf("Ce nombre se trouve à la %d ieme position",position); return(0); }
cordialement florian
Partager