Ordre alphabetique pascal
hamidas15
Messages postés
33
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
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
- Triez cette liste par ordre alphabétique des villes et par note de la meilleure à la moins bonne. quel mot est formé par les 8 premières lettres de la colonne code ? ✓ - Forum Excel
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