Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire un tableau à l'envers avec une boucle

Sujet résolu
    31 mars 2015 à 14:08:56

    Bonjour à tous :)

    J'ai un petit souci avec un devoir que je dois rendre pour mon école... J'ai un tableau double notes2[]  contenant des données:

    double[] notes2 = {3, 5, 5, 6};

    Je dois utiliser une boucle for lire le tableau à l'envers et afficher celui-ci à l'envers dans la première cellule vide de un 2ème tableau notes (vide)

    double[] notes = new double[20];

    J'ai donc fait la chose suivante:

    for(i = 0; i < notes.length; i++){
                if(notes[i] == 0){
                    compteur = i;
                    break;
                }
            }
            
            for(i = compteur; i < notes.length; i++, test++){
                for(j = notes.length; j > i; j--){
                    notes[j] = notes2[test];
                }
            }
            
            affiche(notes);

    Mais il m'affiche une erreur comme quoi que une de mes boucles sort de un de mes tableaux, n'ayant pas de debugger ( :( ) Je me tourne vers vous

    Merci d'avance!

    -
    Edité par SnowH52 31 mars 2015 à 14:10:30

    • Partager sur Facebook
    • Partager sur Twitter
    N'aies pas peur d'être curieux, qui n'essaie rien n'a rien :)
      31 mars 2015 à 14:26:21

      Bonjour,

      compteur vaux quoi dans la 2ieme boucle ??

      Azourkaï

      -
      Edité par Azourkaï 31 mars 2015 à 14:28:24

      • Partager sur Facebook
      • Partager sur Twitter
      Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
        31 mars 2015 à 14:35:52

        euh... la valeur définie dans la première boucle non?
        • Partager sur Facebook
        • Partager sur Twitter
        N'aies pas peur d'être curieux, qui n'essaie rien n'a rien :)
          31 mars 2015 à 14:40:34

          Je n'est pas vérifier mais ça devrais marcher

          int j=0;
          
          for(int i=note.length-1; i >= 0 ; i--){
           notes2[j] = notes[i]
           j++;
          }



          • Partager sur Facebook
          • Partager sur Twitter
          Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
            31 mars 2015 à 14:43:44

            essaye comme ça  sinon  mais je me rappelle plus si la syntaxe marche.

            for(int i=note.length-1, j=0; i >= 0 && j < note2.length; i--,j++){
             notes2[j] = notes[i]
            }



            -
            Edité par Azourkaï 31 mars 2015 à 14:46:00

            • Partager sur Facebook
            • Partager sur Twitter
            Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
              31 mars 2015 à 18:53:26

              J'ai testé et ça n'a pas l'aire de fonctionner...

              Merci quand même, je poserai la question au prof demain et je posterai la solution ici

              • Partager sur Facebook
              • Partager sur Twitter
              N'aies pas peur d'être curieux, qui n'essaie rien n'a rien :)
                31 mars 2015 à 20:06:37

                as tu tester la premier solution que je t'ai donner ?

                Azourkaï

                • Partager sur Facebook
                • Partager sur Twitter
                Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
                  2 avril 2015 à 10:53:51

                  Oui j'ai testé mais ça ne fonctionnait pas...

                  Voici la solution:

                  i = 0;
                          for (int j=notes2.length-1; j>=0; j--, i++) {
                              notes[i] = notes2[j];
                          }

                  Merci quand même en tout cas!

                  • Partager sur Facebook
                  • Partager sur Twitter
                  N'aies pas peur d'être curieux, qui n'essaie rien n'a rien :)
                    2 avril 2015 à 14:22:27

                    c'est la même chose que je t'ai envoyé  !!!

                    la seule différence c'est que toi tu ajoute notes2 dans notes et moi je fais le contraire du au fait qu'il me parais plus logique que la copie du tableau soit notes2 et non notes.

                    Azourkaï

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
                      2 avril 2015 à 14:34:53

                      Ah oups ^^

                      l'erreur était sûrement dû a une erreur d'intégration de ton code dans le mien... vraiment désolé 

                      En tt cas merci pour ton aide!

                      -
                      Edité par SnowH52 2 avril 2015 à 14:35:29

                      • Partager sur Facebook
                      • Partager sur Twitter
                      N'aies pas peur d'être curieux, qui n'essaie rien n'a rien :)

                      Lire un tableau à l'envers avec une boucle

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown