Erreur : "read uninitialized value from array at index"

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Erreur : "read uninitialized value from array at index"

Messagepar maurice » Samedi 09 Avril 2011, 18:39

Bonjour,
Le code suivant :

Code: Tout sélectionner
size(8cm);

void pascal(int n=5) {
   int[] ligne={1,1};
   for (int k=2; k<=n; ++k) {
      int[] lg=new int[k+1];
      for(int j=0; j<=k; ++j) {
         if(j==0 || j==k) {
            lg[j]=1;
            label("1", (j, -k));
         }
         else {
            lg[j]=ligne[j-1]+ligne[j];
            label(format("$%i$", lg[j]), (j,-k));
         }
      ligne=lg;
      }
   }
}
   


pascal();


me retourne l'erreur :

Code: Tout sélectionner
tp.asy: 13.10: read uninitialized value from array at index 1


Que signifie cette erreur ?

Après quelques test, il semble que c'est la valeur ligne[j] qui provoque cette erreur (avec $j=1$ dans la première boucle).

Je ne vois pas pourquoi ligne[1] poserait problème ! ?.

merci

Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 398
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: read uninitialized value from array at index

Messagepar maurice » Samedi 09 Avril 2011, 18:55

Bonsoir,

une version qui marche mais qui n'enlève rien aux questions précédentes ...

494b13673efa040917883b8e21440f36.svg

Code: Tout sélectionner
size(6cm);

void pascal(int n=5) {
int[][] triangle=new int[n+1][n+1];
for (int j=0; j<=n; ++j) {
for (int k=0; k<=j; ++k) {
if (k==0 || k==j) {
triangle[j][k]=1;
label("1", (k,-j));
}
else {
triangle[j][k]=triangle[j-1][k-1]+triangle[j-1][k];
label(format("$%i$", triangle[j][k]), (k,-j));
}
}
}
}

pascal();


maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 398
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: read uninitialized value from array at index

Messagepar GMaths » Samedi 09 Avril 2011, 19:16

maurice a écrit:
Code: Tout sélectionner
tp.asy: 13.10: read uninitialized value from array at index 1


Que signifie cette erreur ?


L'ajout de
Code: Tout sélectionner
write(ligne);

après
Code: Tout sélectionner
ligne=lg;

donne ceci entre les cas j=0 et j=1 :
Code: Tout sélectionner
0:   1
1:   
2:
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: read uninitialized value from array at index

Messagepar maurice » Samedi 09 Avril 2011, 19:24

GMaths a écrit:
maurice a écrit:L'ajout de
Code: Tout sélectionner
write(ligne);

après
Code: Tout sélectionner
ligne=lg;

donne ceci entre les cas j=0 et j=1 :
Code: Tout sélectionner
0:   1
1:   
2:


OK, merci, cette ligne n'était pas faite pour être entre les cas j=0 et j=1.
Je l'ai décalé d'une ligne vers le bas ...

Merci ...
Ce n'est pas la rigueur qui m'étouffe ... Une vraie mauricerie ! encore une !

A bientôt pour d'autres.

Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 398
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: read uninitialized value from array at index

Messagepar GMaths » Samedi 09 Avril 2011, 19:33

Je me permets une suggestion fulgurante :

6f6d99c94f8add358f70455ceaf94c3d.svg

Code: Tout sélectionner
size(150);
int nmax=5;
for (int n=0; n<=nmax; ++n) for(int k=0; k<=n; ++k) label(string(choose(n,k)),(k,-n));
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: read uninitialized value from array at index

Messagepar maurice » Samedi 09 Avril 2011, 19:39

GMaths a écrit:Je me permets une suggestion fulgurante :


Pas mieux !

je ne connaissais pas cette fonction choose, voila qui est fait !

Merci !

Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 398
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: read uninitialized value from array at index

Messagepar GMaths » Samedi 09 Avril 2011, 19:43

maurice a écrit:je ne connaissais pas cette fonction choose

Je m'étais personnellement contenté de la citer dans le commentaire de cet exemple, quand elle a été ajoutée, sans l'avoir testée.

J'ai ajouté des exemples à deux endroits : 1, 2.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité