Salut tt le monde
je suis nouveau sur le forum et j'ai une chose trés urgente a faire ,c'est le trie d'un fichier , est ce que vous pouvez m'aider Svp ??!! c'est trés urgent , merci d'avance .
Version imprimable
Salut tt le monde
je suis nouveau sur le forum et j'ai une chose trés urgente a faire ,c'est le trie d'un fichier , est ce que vous pouvez m'aider Svp ??!! c'est trés urgent , merci d'avance .
Bonjour,
Bienvenu sur le forum et pour commencer pars voir les règlements du forum car visiblement tu ne les as pas lu.:roll::?
Ensuite,
Je doute très sérieusement que quelqu'un de sérieux t'aide sans savoir exactement à quoi correspond ton problème.
Je te conseil donc très vivement de donner un exemple: ce que tu as déjà réalisé comme algorithme ou comme code.
Si tu n'as pas encore entamé ces démarche, je te conseil de le faire et de préciser les structures de données avec lesquelles tu veux travailler.
Bon courage.;)
Jan,
+1 sur Ultima,
et j'ajoute :
Les urgences, c'est à l'hôpital. Ici, tout le monde est dans la même file, personne n'est plus important que les autres :D
Merci pour vos conseils.
Bain il faut que je trie un fichier d'enregistrement (l'enregistrement contient des phrases avec la longueur de chaque phrase); et je dois le trier sans passer par un vecteur (je veux dire j'ai pas le droit d'utiliser un tableau pour le tri), merci d'avance pour votre aide :wink:
Bonsoir,
Excuse moi mais tu ne fais pas énormément avancer les choses là.:roll:
Pour trier quelque chose, il faut qu’on sache exactement ce que c’est ;
Tu parle d’enregistrements :
combien d’éléments y a-t-il dans chaque enregistrement,
quels sont les types de ces éléments,
quel est la longueur de tes chaines de caractères,
Le plus simple (comme on le répète tout le temps), c’est de mettre un algo ou un code qui illustre ce que tu veux faire.;)
le voilà:
http://img341.imageshack.us/img341/2406/billelzj8.jpg
Moi je cherche a faire la 10 question (de trie) car j'ai deja fait les autres .
Bonjour,
Très intéressant tous ça mais qu'est ce que tu as déjà fait ?
Sur quelle partie de l'exercice désires tu de l'aide ?
Une chose est sûre, c'est que personne n'est sensé faire ton travail à ta place.
(ce n'est d'ailleurs pas le but du forum).
Citation:
Envoyé par Ultima
j'ai dis je veux faire la 10 eme question !!! car j'ai fini tout les autres !!Citation:
Envoyé par The Bronx 05
A ce que je sache , j'ai pas demander a se que quelqu'un fasse mon travail , j'ai seulement demander un peut d'aider pour faire le trie (la methode ,ou la façon de le faire) , et c'est toi meme qui m'a demander de donner plus d'info , alors j'ai mis le sujet , mais si vous voulez pas m'aider c'est pas grave !!! a+Citation:
Envoyé par Ultima
Hoy,
Plus d'info de ce genre, ça ne sert à rien : on avait bien compris que tu voulais trier un fichier.Citation:
Envoyé par The Bronx 05
Si on t'a donné cet exercice à faire, c'est que tu as eu un cours te donnant au moins une manière de faire un tri.
Donc tu réfléchis dessus, tu commences au moins à écrire la base de ton programme, tu nous montres ce que tu as fait, et tu nous dit où tu bloques.
Dans ces conditions, peut-être obtiendras-tu de l'aide :D, mais, comme te l'a dit Ultima, personne ici ne fera ton travail à ta place.
Salut,
Pour l'algorithme de tri, il y en a plusieurs, alors voici un lien pour que tu puisses te faire une idée et en choisir un. lienCitation:
Envoyé par The Bronx 05
Personnellement, mon algorithme préféré c’est celui du tri à bulle.
Si tu rencontres des difficultés, ou si tu ne comprends pas quelque chose, n'hésite pas à nous demander.
(mais n'oubli pas, il faut être précis).;)
Merci bk pour votre aide les amis :wink:
excusez moi peut etre de vous fatiguer encore, mais les exemples de tri donné sont fait avec des tableaux alors pour le cas de fichiers d'enregistrement, ca m'a l'air de pas marcher
Dans mon cas et après une multitude de tests, c'est le QuickSort mon tri préféré que ce soit par tableau ou par fichiers.
tu pourrais me le montrer du moins la version fichiers?
en principe, mais mon probleme reside au niveau du tri des chaines de caracteres contenu dans le fichier.
comme je suis pas a la maison je vous enverez le code que j'ai fait plus tard
Hoe,
Eh bien, tu fais comme je l'ai écrit plus haut, comme pour un tableau (à condition que ce soit un fichier d'enregistrements, pas un fichier type Text), ou, alternative, tu charges le fichier dans un tableau, tu tries le tableau, et tu écris le résultat dans le fichier.
ah c'est ca, en fait moi je voulais pas charger le fichier dans un tableau et ca marche vraiment pas facilement Merci je vais tester
Joe,
Je n'ai pas dit qu'il fallait charger le fichier dans un tableau, mais que c'était une alternative au travail direct dans le fichier.
Travailler directement dans le fichier ne change pas le principe du tri.
Simplement, si pour trier une tableau tu as par exemple besoin d'échanger 2 valeurs (disons des Integer, pour simplifier), tu fais comme ceci :
OU (pour être plus proche de l'exemple pour travailler dans le fichier)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 { la procédure qui fait l'échange } procedure SwapIntegers(Var a,b : Integer); Var temp : Integer; Begin temp := a; a := b; b := temp; End; ... { t est le tableau, i, j sont les cases à échanger } SwapIntegers (t[i],t[j]);
Et directement dans le fichier, le type de l'enregistrement est myRec :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 { la procédure qui fait l'échange tab est le tableau, i et j sont les indices des cases à échanger } procedure SwapIntegers_2(Var tab : tableau; i,j : Integer); Var temp : Integer; Begin temp := tab[i]; tab[i] := tab[j] tab[j] := temp; End; ... { t est le tableau, i, j sont les cases à échanger } SwapIntegers_2 (t,i,j);
...Code:
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 { f est le fichier, i et j sont les n° des enregistrements à échanger } procedure SwapIntegers_InFile(Var f : Type_du_fichier; i,j : Integer); Var { on a besoin de 2 variables tampons, car, contrairement à ce qu'on fait dans un tableau, on ne peut pas directement copier un enregistrement dans un autre } temp, temp_2 : myRec ; Begin Seek(f,i); Read(f,temp); Seek(f,j); Read(f,temp_2); Seek(f,i); Write(f,temp_2); Seek(f,j); Write(f,temp); End; ... { f est le fichier, i, j sont les enregistrements à échanger } SwapIntegers_InFile (t,i,j);
Pour comparer les données de 2 enregistrements, il faut les lire dans des variables tampon, et faire la comparaison désirée
etc. :)
Il y a beaucoup de méthodes de tri pour le fichier, je te propose une méthode simple :
:ccool:Code:
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 procedure insertion(var t:tab;n:integer); var i:integer; begin for i:=2 to n do begin if t[i].champ<t[i-1].champ then begin x:=t[i]; j:=i-1; while (t[j].champ>x.champ) and (j>=1) do begin t[j+1]:=t[j] j:=j-1; end; t[j+1]:=x; end; end; end; procedure tri(var f:fa; n:integer); var i:integer; begin reset(f); for i:=1 to n do read(f,t[i]); insertion(t,n); rewrite(f); for i:=1 to n do write(f,t[i]); close(f); end;