Page 1 sur 2
Lecture des données (version 1.66 et version 1.94)
Posté : mar. 11 mai 2010, 20:35
par DGH
Bonsoir,
Ma question concerne la lecture des données. J'ai mes données sont sont stockées dans un fichier nommé : "MesDonnees.dat"
Code : Tout sélectionner
// pour la lecture
file fichD=line(input("MesDonnees.dat"));
int[][] a=dimension(fichD,0,0);
a=transpose(a);
int[] X=a[0] , Y =a[1];
Avec la version 1.66 le code fonctionne alors qu'avec la version 1.94, j'ai le message d'erreur :
variable line n'est pas définie . J'ai besoin de quelqu'un (qui a la version 1.94) de tester pour voir s'il a le même problème que moi.
Merci
D.GH
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mar. 11 mai 2010, 20:59
par OG
Bonsoir
Il y a certainement eu du changement. Je suis allé lire un peu la doc (si si c'est possible)
Voici un code qui marche (j'espère)
Code : Tout sélectionner
// pour la lecture
file fichD=input("MesDonnees.dat");
int[][] a=fichD.dimension(0,2);
a=transpose(a);
int[] X=a[0] , Y =a[1];
write (X,Y);
Cordialement
O.G.
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mar. 11 mai 2010, 21:12
par GM
Réponse rapide (sans avoir pris le temps de tester l'exemple proposé) ... uniquement pour dire que je me suis aperçu récemment qu'il y a des
à remplacer par
.
Je m'en suis aperçu pour
les exemples suivants mais je n'ai pas encore pris le temps de voir si les exemples de
cette galerie étaient à réactualiser. Je le ferai quand je trouverai un peu de temps.
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mer. 12 mai 2010, 11:27
par DGH
Merci pour la réponse. Avec la version 1.94, le code suivant fonctionne.
Code : Tout sélectionner
file fichD=input("MesDonnees.dat").line();
int[][] a=fichD.dimension(0,0);
a=transpose(a);
int[] X=a[0] , Y =a[1];
write (X,Y);
Une question : Lors de la compilation est-il possible de récupérer la version d'Asymptote ? Quelque chose de type :
Code : Tout sélectionner
si (version==1.66)
file fichD=line(input("MesDonnees.dat"));
sinon
file fichD=input("MesDonnees.dat").line();
Merci
D.GH
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mer. 12 mai 2010, 11:55
par GM
DGH a écrit :Lors de la compilation est-il possible de récupérer la version d'Asymptote ?
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
size(200);
draw((0,0){dir(-45)}..{dir(45)}(10,0),red);
draw((5,1)--(5,3));
dotfactor=10;
dot((0,5));
dot((10,5));
label("Cr\'e\'e avec Asymptote "+version.VERSION,point(S),2S);
shipout(bbox(5mm,gray));
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mer. 12 mai 2010, 12:40
par DGH
Merci Gaétan pour ce Joli dessin.
Toujours pour la lecture des données, comment lire un fichier de données qui est un mélange de réel , entier et string? Par exemple :
Jean 1.2 Paris 14000
Olivier 1.7 Rennes 12041
Ga\'etan 1.9 Strasbourg 21045
Alex 1.3 Lille 10047
Merci
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mer. 12 mai 2010, 12:46
par GM
C'est une bonne question... dont je n'ai pas encore la réponse du fait que je n'ai pas encore eu à l'utiliser mais je vais y réfléchir et faire des tests, ce soir... si personne ne donne une solution avant.
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mer. 12 mai 2010, 15:24
par OG
DGH a écrit :Merci Gaétan pour ce Joli dessin.
Toujours pour la lecture des données, comment lire un fichier de données qui est un mélange de réel , entier et string? Par exemple :
Jean 1.2 Paris 14000
Olivier 1.7 Rennes 12041
Ga\'etan 1.9 Strasbourg 21045
Alex 1.3 Lille 10047
Merci
Cela te convient-il ?
Code : Tout sélectionner
file fichD=input("donnee.txt").line().word();
string[] nom, ville;
int [] distance;
real [] dreel;
while(true) {
nom.push(fichD);
dreel.push(fichD);
ville.push(fichD);
distance.push(fichD);
if(eof(fichD)) break;
}
write(nom);
write(dreel);
write(ville);
write(distance);
Sinon il serait plus facile d'avoir les données par ligne. Tu lis la 1ère ligne : tableau de "string", etc
O.G.
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mer. 12 mai 2010, 16:15
par DGH
OG a écrit :Cela te convient-il ?
O.G.
Parfait
D.GH
Re: Lecture des données (version 1.66 et version 1.94)
Posté : mer. 12 mai 2010, 23:59
par GM
Je ne comprends pas trop l'intérêt du while(true) puis du break.
Cela me semble plus simple ainsi :
Code : Tout sélectionner
file fichD=input("donnees.txt").line().word();
string[] nom, ville;
int [] distance;
real [] dreel;
while(eof(fichD)!=true) {
nom.push(fichD);
dreel.push(fichD);
ville.push(fichD);
distance.push(fichD);
}
write(nom);
write(dreel);
write(ville);
write(distance);