Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonction avec tableau à deux dimensions

    18 novembre 2020 à 21:26:42

    Ceci est un bout de code de mon jeu puissance 4. Je n'arrive pas à faire passer ce qui se trouve dans le main dans la fonction "AfficheGrilleP4vierge" avec un return. Cette partie permet de réinitialiser la grille après une partie.

    Je vous remercie d'avance pour votre aide.

    #include <stdio.h>
    #define LIGNE 6
    #define COLONNE 7
    #include "AfficheGrilleP4vierge.h"

    int main()
    {
        int i, j;
        int grille[LIGNE][COLONNE] = {{0, 0, 0, 0, 0, 0, 0},
                                                      {0, 0, 0, 0, 0, 0, 0},
                                                      {0, 0, 0, 0, 0, 0, 0},
                                                      {0, 0, 0, 0, 0, 0, 0},
                                                      {0, 0, 0, 0, 0, 0, 0},
                                                      {0, 0, 0, 0, 0, 0, 0}};

        for (i= 0; i <= 5; i++)
        {
            printf("\n+---+---+---+---+---+---+---+\n");
            printf("|");

            for (j= 0; j <= 6; j++)
            {
                grille [i][j] = 0;
                printf (" O |");
            }
        }
        printf("\n+---+---+---+---+---+---+---+\n");
        printf("  1   2   3   4   5   6   7 \n\n");
    }

    -
    Edité par Silver/2020 19 novembre 2020 à 16:43:59

    • Partager sur Facebook
    • Partager sur Twitter
      18 novembre 2020 à 21:32:32

      Bonjour, Évitez les titres avec "Problème", si vous postez une demande d'aide on se doute qu'il y a un problème, pas la peine de l'indiquer dans le titre du sujet.

      Merci de colorer votre code à l'aide du bouton Code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: cpp;">Votre code ici</pre>.

      Merci de modifier votre message d'origine en fonction.

      Manque de Politesse

      Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

      Liens conseillés

      -
      Edité par AbcAbc6 18 novembre 2020 à 21:33:25

      • Partager sur Facebook
      • Partager sur Twitter
        18 novembre 2020 à 23:04:46

        Silver/2020 a écrit:

        Je n'arrive pas à faire passer ce qui se trouve dans le main dans la fonction "AfficheGrilleP4vierge" avec un return. 

        Elle est où la fonction AfficheGrilleP4vierge je ne la vois point !
        • Partager sur Facebook
        • Partager sur Twitter
          19 novembre 2020 à 15:44:23

          Bonjour Madame, Monsieur,

          Je n'arrive pas à faire passer ce tableau "grille" à deux dimensions dans la fonction AfficheGrilleP4vierge et de renvoyer les valeurs dans tableau "grille" avec le return.

          Merci d'avance pour votre aide.

          #include <stdio.h>
          #define LIGNE 6
          #define COLONNE 7
          
          int AfficheGrilleP4vierge (int *grille);
          
          int main()
          {
              int grille[LIGNE][COLONNE] = {{0, 0, 0, 0, 0, 0, 0},
                                           {0, 0, 0, 0, 0, 0, 0},
                                           {0, 0, 0, 0, 0, 0, 0},
                                           {0, 0, 0, 0, 0, 0, 0},
                                           {0, 0, 0, 0, 0, 0, 0},
                                           {0, 0, 0, 0, 0, 0, 0}};
              grille = AfficheGrilleP4vierge;
              
              return 0;
          }
          
          int AfficheGrilleP4vierge (int *grille)
          {
              int i;
              int j;
              
              for (i= 0; i <= 5; i++)
              {
                  printf("\n+---+---+---+---+---+---+---+\n");
                  printf("|");
          
                  for (j= 0; j <= 6; j++)
                  {
                      grille [i][j] = 0;
                      printf (" O |");
                  }
              }
              printf("\n+---+---+---+---+---+---+---+\n");
              printf("  1   2   3   4   5   6   7 \n\n");
          
              return grille;    
          }
          



          • Partager sur Facebook
          • Partager sur Twitter
            19 novembre 2020 à 16:16:20

            Hello,

            La fonction reçoit un tableau d'entiers à deux dimensions, sa définition est donc int afficher(int grille[LIGNES][COLONNES]).

            A noter que la taille de la première dimension ( LIGNES dans ce cas) peut être omise.

            Il n'y a aucune raison pour que la fonction d'affichage

            • modifie ce qu'elle doit afficher (ligne 32)
            • renvoie quelque chose (d'ailleurs dans ton cas c'est totalement faux). La fonction est donc de type void.

            On se retrouve en définitive avec une définition void afficher(int grille[][COLONNES])

            Il faut lire les messages du compilateur, il ne sont pas là pour faire joli

            -
            Edité par edgarjacobs 19 novembre 2020 à 16:27:00

            • Partager sur Facebook
            • Partager sur Twitter

            On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

              19 novembre 2020 à 16:41:44

              Vu que tu as défini les dimensions de ta grille dans des define sers en toi dans tes boucle for au lieu de mettre les valeurs en dur.
              • Partager sur Facebook
              • Partager sur Twitter
                26 janvier 2021 à 11:49:10

                Je vous remercie beaucoup pour votre aide et veuillez m'excuser pour le temps de réponse.

                Je vous souhaite une bonne journée.

                Respectueusement,

                Silver/2020

                • Partager sur Facebook
                • Partager sur Twitter

                Fonction avec tableau à deux dimensions

                × 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