
Salutations.
diemaker form, dans ton premier message, tu disais :
Le but est de réorganiser un dessin de vecteurs,
comment trier des lignes dans un fichier qui contient :
N1,100.00,234.00,345.00,279.00,A,B
N2,460.00,398.00,150.00,380.00,A,B
N3,345.00,279.00,460.00,398.00,A,B
N4,100.00,234.00,50.00,234.00,A,B
N5,150.00,380.00,100.00,234.00,A,B
Il t'avait été proposé de travailler avec des tables que tu connaissais peu (ou mal) et Francesco avait émis des doutes légitimes quant à la taille maxi de 64 Koctets (sans /AH). Voir la fonction FRE de l'aide, index. Consulter également :
http://www.progboards.com/sujet-886_des_tables_de_plus_de_64_k__.php
J'ai étudié ton problème avec les principes suivants :
- - > Modification de ton fichier TXT de données initiales : Suppression de N1, N2, etc. (ils ne servent à rien, d'après tes dires) et de A, B (j'en ignore le contenu). Je ne conserve que les coordonnées de début et de fin.
- - > PAS de limitation du nombre de vecteurs. Pour cela, une seule méthode est à appliquer : ne pas utiliser de table mais un fichier RANDOM (qui sera traité comme une table dans le programme), mais avec le gros avantage de ne pas être limité en nombre d'enregistrements. Il y aura cependant un inconvénient : la durée d'exécution

Elle sera évidemment nettement moins rapide qu'une réorganisation en mémoire (voir plus loin : heureuse surprise).
- - > J'ai également admis que tous les vecteurs (sauf le dernier) ont un vecteur 'suite', c'est-à-dire qu'il y a une continuité rigoureuse.
J'ai donc écrit un petit morceau de programme que tu trouveras en :
Je ne peux pas mettre de code source Qbasic sur le Wall
Il n'est pas significatif, ne comportant que 5 vecteurs, mais il semble fonctionner.
J'ai voulu pousser l'expérience plus loin et effectuer un test sur un nombre beaucoup plus important de vecteurs, en me plaçant dans le cas le plus défavorable : le premier est écrit en position 1 du fichier, le 2 en dernière position, le 3 en avant dernière et ainsi de suite en remontant. Après une mise au point un peu laborieuse, j'ai eu une agréable surprise :
- - > 10.000 vecteurs sont remis dans l'ordre en 0,77 seconde (avec ma configuration)

Il faut considérer ce programme comme une
ETUDE (il comporte de nombreuses explications, des SLEEP, PRINT que je laisse volontairement en remarques), car, seul, il ne sert pas à grand chose. Il démontre cependant qu'il ne faut pas sous estimer la rapidité de lecture des fichiers et il peut te donner des idées sur la méthode à employer pour réorganiser tes vecteurs (sans avoir à lever le crayon).
La seule chose importante est le GOSUB GS04.REORGANISATION. Avec un défaut que je reconnais : il ne concerne que des vecteurs linéaires.

J'ai programmé comme d'habitude, à l'ancienne.
Voir pour le tri 'normal' des fichiers :
http://www.progboards.com/sujet-975_les_fichiers_a_acces_aleatoire_____en_qbasic_.php
J'ai constaté que le tri intéressait peu de monde …
Dis-moi ce que tu en penses.

Salutations.
Moi, mon ordinateur, je l'ai baptisé "Billy" ...
En remerciement, je reçois beaucoup de pages bleues !