Slaut à tous, c'est encore moi. Désolé.
Voila, j'ai encore un petit problème avec les pointeurs et les passages par adresses et par valeur.

Voila, je mets le code, enfin juste l'essentiel (là où il y a l'erreur)

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
tab Fusion(tab *T,int p,int q,int r)
{
	int i,j,k;
	tab B;
 
	i=p;
	k=p;
	j=q;
	while(i<q&&j<=r)
	{
		if(T->t[i]<T->t[j])
		{
			B.t[k]=T->t[i];
			i++;
		}
		else
		{
			B.t[k]=T->t[j];
			j++;
		}
		k++;
	}
	while(i<q)
	{
		B.t[k]=T->t[i];
		i++;
		k++;
	}
	while(j<=r)
	{
		B.t[k]=T->t[j];
		j++;
		k++;
	}
	T=&B;
 
	return *T;
 
}
 
tab TriFusion(tab *T, int p, int r)
{
	int q;
 
	if(p<r)
	{
		q=(p+r)/2;
		TriFusion(&T,p,q);
		TriFusion(&T,q+1,r);
		Fusion(&T,p,q,r); 
 
		return *T;
	}
}
 
int main(int arg, char** argv) 
{ 
	int d,f,i;
 
	F.fin = 0;
	for(i=0;i<M;i++) 
	  { 
		  F.t[i]=-1;
		  F.fin++;
	   } 
 
	inserer(&F,9); 
	inserer(&F,4); 
	inserer(&F,3); 
 
	d=0;
	f=6;
	TriFusion(&F,d,f);
 
}
Encore désolé de vous demander de l'aide mais je suis pas encore tout à fait habituer au C.