Ordre alphabetique pascal
hamidas15
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je cherche la procedure qui permet de trier par ordre alphabetique les produits d'une boutique, ce sont des enregistrement constitués de nom, code, prix unitaire et quantité. aidez moi svp.
A voir également:
- Ordre alphabetique pascal
- Comment trier par ordre alphabétique sur excel - Guide
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Classer les applications par ordre alphabétique iphone - Guide
3 réponses
Il existe plein d'algorithmes de tri, plus ou moins efficace,s et surtout plus ou moins compliqués à écrire...
Dans ton cas, que faut-il trier ? un fichier d'éléments ? un tableau d'éléments ?
Tant que tu y es précise nous aussi le type de tes produits que tu utilise (type produit=record...)
Et dis nous aussi s'il s'agit d'un tri sur beaucoup d'éléments (>1000) ou juste quelques uns pour tester...
Dans ton cas, que faut-il trier ? un fichier d'éléments ? un tableau d'éléments ?
Tant que tu y es précise nous aussi le type de tes produits que tu utilise (type produit=record...)
Et dis nous aussi s'il s'agit d'un tri sur beaucoup d'éléments (>1000) ou juste quelques uns pour tester...
À vrai dire j'attendais un type record un peu plus détaillé enfin tant pis, on va faire sans...
La confiance n'exclut pas le contrôle
type produit=record nom:string; code,quantite:integer; prix:real; end; fichier=file of produit; function Minimum(var f:fichier;i:integer):integer; var min,aux:produit; begin seek(f,i); result:=i; read(f,min); while not eof(f) do begin read(f,aux); if aux.nom<min.nom then begin min:=aux; result:=filepos(f)-1; end; end; end; procedure Permuter(var f:fichier;i,m:integer); var aux1,aux2:produit; // le même type que produit.nom begin seek(f,i); read(f,aux1); seek(f,m); read(f,aux2); seek(f,m); write(f,aux1); seek(f,i); write(f,aux2); end; procedure Tri(var f:Fichier); var i:integer; begin for i:=0 to filesize(f)-1 do Permuter(f,i,Minimum(f,i)); end; var f:fichier; p:produit; begin assign(f,'D:\KX\hamidas15.ini'); rewrite(f); p.nom:='EFGH'; p.code:=12; p.quantite:=12; p.prix:=1.2; write(f,p); p.nom:='MNOP'; p.code:=34; p.quantite:=34; p.prix:=3.4; write(f,p); p.nom:='IJKL'; p.code:=56; p.quantite:=56; p.prix:=5.6; write(f,p); p.nom:='ABCD'; p.code:=78; p.quantite:=78; p.prix:=7.8; write(f,p); Tri(f); seek(f,0); read(f,p); writeln(p.nom); read(f,p); writeln(p.nom); read(f,p); writeln(p.nom); read(f,p); writeln(p.nom); close(f); writeln; write('Fin du programme. Appuyer sur Entree'); readln; end.--
La confiance n'exclut pas le contrôle