salut,
à partir d'un fichier process.txt de la forme:
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
 
10  11  2
10  62  4
10  6  4
10  12  3
12  5  4
10  13  2
24  3  8
10  51  5
11  4  2
12  6  4
10  9  2
12  4  7
13  5  1
16  5  4
j'obtiens comme affichage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
10 10 12 24 11 10 13 16 16
sachant que je veux avoir dans mon tableau "t" une seule ocurrence de chaque élément (le plus à gauche), voici mon code:
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
 
L_PROCESSUS*cree_l_processus(L_PROCESSUS*tete)
{
	FILE*f;
	char s[100];
	int i=1,csa=0,cse=0,q=0,ent;
	int t[15];
	int trouv=0;
	int n=0; //taille tableau filtré des composants
	PROCESSUS *a;
	L_PROCESSUS*nouv;
	nouv=(L_PROCESSUS*)malloc(sizeof(L_PROCESSUS));
	nouv->suiv=NULL;
	f=fopen("c:\\process.txt","r");
	rewind(f);
	/*creation du tableau contenant tous les composants: lecture du
	fichier process.txt et remplissage, avec une suele occurence 
	de chaque composant*/
	/*fgets(s,100,f);
	sscanf(s,"%4d",&ent);
	t[0]=ent;
	n++;*/
 
	while(!feof(f))
	{
		//printf("ahla");
		fgets(s,100,f);
		sscanf(s,"%4d",&ent);
		for (int aa=0;aa<n;aa++)
		{
			if(ent==t[aa]) 
			{
				fgets(s,100,f);
				trouv=1;
				sscanf(s,"%4d",&ent);//deja existe
//passe a la  ligne suivante 
			}
		}
		if((aa==n)) //atteint la fin du tableau.l'element n'existait pas
			//	au tableau; on l'ajoute.
 
		{t[n]=ent;
			n++;}
 
		//fgets(s,100,f);	
 
	}
	//printf("%d\n" ,t[n-1]);
	//printf("%d\n" ,n);
	for (int aaa=0;aaa<n;aaa++)
		printf("%d ",t[aaa]);  
 
	/*1er element*/
	rewind(f);
	fgets(s,100,f);
	sscanf(s,"%4d %4d %4d",&nouv->a.composant,&nouv->a.compose[0],&nouv->a.qte[0]);
	tete=nouv;
 
	while(!feof(f))
	{
		fgets(s,100,f);
		sscanf(s,"%4d %4d %4d",&csa,&cse,&q);
		if(csa==nouv->a.composant)
		{
			nouv->a.compose[i]=cse;
			nouv->a.qte[i]=q;
			i++;
		}
	}
 
return(tete);
}
excusez mes commentaires