IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Problème avec un tableau à 2dimensions


Sujet :

C

  1. #1
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut Problème avec un tableau à 2dimensions
    Bonjour, voilà mon problème : Je n'arrive pas à créer une boucle permettant d'assigner des valeurs à des indices, enfin j'ai créé le tableau mais rien ne se passe c'est donc que j'ai oublié un truc (comme je suis débutant en matière de tableau ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(int argc, char *argv[])
    {
      int tab[10][10], i=0, j=0, k=0;
      size_t sizeOfTab = sizeof tab;
      fprintf(stdout, "%l\n", sizeOfTab);
      for(k;k++;k<100)
      {
          i++;
          j++;
          fprintf(stdout, "\n%u", i);
          fprintf(stdout, "\n%u", j);
          tab[i][j] = k;
          fprintf(stdout, "%u", tab[i][j]);
      }
      getch(); 
      return 0;
    }
    De plus la taille du tableau n'apparaît pas.

    Merci d'avance

  2. #2
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(int argc, char *argv[])
    {
      int tab[10][10], i=0, j=0, k=0;
      size_t sizeOfTab = sizeof tab;
      fprintf(stdout, "%u\n", sizeOfTab);
      for(k;k<100;k++)
      {
          i=k/10;
          j=k%10;
          fprintf(stdout, "\n%u", i);
          fprintf(stdout, "\n%u", j);
          tab[i][j] = k;
          fprintf(stdout, "%u", tab[i][j]);
      }
      getch(); 
      return 0;
    }

  3. #3
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Merci mais pourquoi avoir mis :

    k/10 et ensuite k%10

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Je trouve tout de même plus lisible (plus proche des intentions du programmeur) d'utiliser deux boucles imbriquées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdio.h>
    #include <stdlib.h>
     
    #define NB_ELEMS(array) ( sizeof (array) / sizeof *(array) )
     
    int main(void)
    {
        int my_array[3][4] = {{0}};
        size_t i, j; /* loop indexes */
     
        for (i = 0; i < NB_ELEMS(my_array); i++)
        {
            for (j = 0; j < NB_ELEMS(*my_array); j++)
            {
                my_array[i][j] = i * NB_ELEMS(*my_array) + j;
                printf("%d ", my_array[i][j]);
            }
            printf("\n");
        }
     
        return EXIT_SUCCESS;
    }
    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Ah oui ! Je viens de voir Je vais prendre cette solution ! Merci
    Mais pourquoi avait il mis k/10 et ensuite k%10 (division et modulo ?)

  6. #6
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    Ah oui ! Je viens de voir Je vais prendre cette solution ! Merci
    Mais pourquoi avait il mis k/10 et ensuite k%10 (division et modulo ?)
    Pour récupérer les indices i et j.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    Ah oui ! Je viens de voir Je vais prendre cette solution ! Merci
    Mais pourquoi avait il mis k/10 et ensuite k%10 (division et modulo ?)
    Pour recalculer les indices...

    k/10 augment de 1 tous les 10 k
    k%10 varie de 0 à 9 quelque soit la valeur de k

    Fais des tests à part avec des printf...

  8. #8
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Entendu, je vais voir ca...

  9. #9
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(int argc, char *argv[])
    {
      int tab[10][10], i=0, j=0, k=0;
      size_t sizeOfTab = sizeof tab / sizeof tab[10][10];
      fprintf(stdout, "%l\n", sizeOfTab);
      for(i;i<sizeOfTab;i++)
      {
                       for(j;j<sizeOfTab;j++)
                       {
                                             tab[i][j]=i+j;
                                             fprintf(stdout, "\n%u", tab[i][j]);
                       }
      }
      getch(); 
      return 0;
    }
    C'est correct ? (ca compile et ca marche mais puis - je l'améliorer ?)

  10. #10
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int tab[10][10], i=0, j=0, k=0;
    size_t sizeOfTab = sizeof tab / sizeof tab[10][10];
    (ca compile et ca marche mais puis - je l'améliorer ?)
    Personnellement, je doute que cela fonctionne étant donné la valeur assignée à sizeOfTab et l'utilisation qui en est faite dans les boucles. Il y a de l'écrasement dans l'air.

  11. #11
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(int argc, char *argv[])
    {
      int tab[10][10], i=0, j=0, k=0;
      size_t sizeOfTab = sizeof tab / sizeof tab[10][10];
      fprintf(stdout, "%l\n", sizeOfTab);
      for(i;i<sizeOfTab;i++)
      {
                       for(j;j<sizeOfTab;j++)
                       {
                                             tab[i][j]=i+j;
                                             fprintf(stdout, "\n%u", tab[i][j]);
                       }
      }
      getch(); 
      return 0;
    }
    C'est correct ? (ca compile et ca marche mais puis - je l'améliorer ?)
    Non, dans ton code, sizeOfTab vaut 100... et non 10. Tu dois faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    size_t sizeOfTab = sizeof tab / sizeof tab[0];
    Mais ton code ne fonctionnera QUE si les 2 dimensions du tableau sont égales.

    De plus j'ai corrigé mon code original posté plus haut. Tu doit faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab[i][j] = i * NB_ELEM(tab[0]) + j;
    pour obtenir le même résultat que dans ton code original.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  12. #12
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Mais ce n'est pas ce qu'il faut ? (10*10 = 100)

  13. #13
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    Mais ce n'est pas ce qu'il faut ? (10*10 = 100)
    Il faut choisir entre faire UNE boucle effectuant 100 itérations et DEUX boucles imbriquées effectuant chacune 10 itérations.

  14. #14
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    Mais ce n'est pas ce qu'il faut ? (10*10 = 100)
    Pas si tu imbriques 2 boucles. Tu dois itérer 10 fois (nb de lignes) sur la boucle extérieure, et 10 fois (nb de colonnes) sur la boucle intérieure.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  15. #15
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    C'est correct ? (ca compile
    Euh...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : C:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c: In function `main':
    main.c:9: warning: unknown conversion type character 0xa in format
    main.c:9: warning: too many arguments for format
    main.c:10: warning: comparison between signed and unsigned
    main.c:12: warning: comparison between signed and unsigned
    main.c:18: warning: implicit declaration of function `getch'
    main.c:7: warning: unused variable `k'
    main.c: At top level:
    main.c:5: warning: unused parameter 'argc'
    main.c:5: warning: unused parameter 'argv'
    main.c: In function `main':
    main.c:10: warning: statement with no effect
    main.c:12: warning: statement with no effect
    Linking console executable: console.exe
    Process terminated with status 0 (0 minutes, 1 seconds)
    0 errors, 10 warnings
    tu es sûr que ton compilateur est réglé comme je te l'ai indiqué ?
    et ca marche mais puis - je l'améliorer ?)
    Déjà, tu peux améliorer la présentation (tout le monde n'a pas un écran de 21 pouces !)

    Ensuite, tu veux supprimer getch() si ton compilateur IDE pas Dev-C++.

    Le calcul des dimensions est erroné. Le principe général, c'est :

    dim = sizeof tab / sizeof *tab

    Correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    #include <stdio.h>
     
    int main (void)
    {
       int tab[4][5];
       size_t i;
       size_t nb_lin = sizeof tab / sizeof *tab;
       size_t nb_col = sizeof *tab / sizeof **tab;
     
       fprintf (stdout, "lin=%u col=%u\n", (unsigned) nb_lin, (unsigned) nb_col);
     
       for (i = 0; i < nb_lin; i++)
       {
          size_t j;
          for (j = 0; j < nb_col; j++)
          {
             tab[i][j] = i + j;
             fprintf (stdout, "%3u", tab[i][j]);
          }
          printf ("\n");
       }
       return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    lin=4 col=5
      0  1  2  3  4
      1  2  3  4  5
      2  3  4  5  6
      3  4  5  6  7
     
    Press ENTER to continue.
    Evidemment c'est plus parlant si le tableau n'est pas 'carré...'

  16. #16
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    En fait je l'avais reglé pour un autre projet (C'est bon j'ai corrigé tout):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(void)
    {
      unsigned int tab[10][10], i=0, j=0;
      size_t sizeOfLine = sizeof tab / sizeof *tab;
      size_t sizeOfColumn = sizeof *tab / sizeof **tab;
      fprintf (stdout, "\nline=%u column=%u\n\n", sizeOfLine, sizeOfColumn);
      for(i=0;i<sizeOfLine;i++)
      {
                       for(j=0;j<sizeOfColumn;j++)
                       {
                                             tab[i][j]=i+j;
                                             fprintf (stdout, "%3u", tab[i][j]);
                       }
      }
      puts("\n");
      system("PAUSE"); //I use this function until what i make my own function 
      return 0;
    }
    Mais c'est étrange il m'affiche des données jusqu'à 18 ?

  17. #17
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    En fait je l'avais reglé pour un autre projet (C'est bon j'ai corrigé tout):

    Mais c'est étrange il m'affiche des données jusqu'à 18 ?
    Je ne vois pas ce qu'il y a de bizarre. Les indices vont de 0 à 9 et tu enregistres la somme. Ca fait donc 9 + 9 = 18...

    Essaye de réfléchir avant de te jeter sur ton clavier...

    Ensuite, place le \n au bon endroit (ce que j'avais fait), ça permettra une meilleure sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    line=10 column=10
     
      0  1  2  3  4  5  6  7  8  9
      1  2  3  4  5  6  7  8  9 10
      2  3  4  5  6  7  8  9 10 11
      3  4  5  6  7  8  9 10 11 12
      4  5  6  7  8  9 10 11 12 13
      5  6  7  8  9 10 11 12 13 14
      6  7  8  9 10 11 12 13 14 15
      7  8  9 10 11 12 13 14 15 16
      8  9 10 11 12 13 14 15 16 17
      9 10 11 12 13 14 15 16 17 18
     
    Press ENTER to continue.
    Enfin tu as supprimé certains éléments de ma correction. Si tu ne les comprends pas, pose des questions, mais ne supprime pas du code sans comprendre, sous prétexte que 'ça marche sans'. Je ne mets pas de code par hasard. Il y a toujours un sens (sauf erreur toujours possible).

    Si tu veux faire des commentaires en anglais,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //I use this function until what i make my own function
    il faut améliorer ton niveau d'anglais... Ce que tu écris frise le ridicule, désolé... Et évite les // qui n'existent pas en C90...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /* I am using this function while I have not yet written my own one. */
    De toutes façons, tu n'en as probablement pas besoin. C'est quoi ton IDE ?

  18. #18
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Alors, je n'ai pas supprimé des fonctions de votre code simplement car je n'ai pas utilisé votre code, j'ai juste jeté un oeil et fait le miens (je préfère faire ca que de copier et modifier) !

    J'avais oublié que ca commencait à 0.

    Désolé pour l'anglais Je vais faire des efforts Au moins je n'utilise pas google traduction (comparé à certaines personnes de mon âge )

    Je vais améliorer un peu le code

  19. #19
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    Alors, je n'ai pas supprimé des fonctions de votre code simplement car je n'ai pas utilisé votre code, j'ai juste jeté un oeil et fait le miens (je préfère faire ca que de copier et modifier) !
    C'est une bonne stratégie. Toutefois, pour que cette manière de faire soit profitable, c'est une bonne pratique de comparer son propre code avec celui d'une personne expérimentée, de comprendre les différences et, le cas échéant, poser des questions précises.

    Les opérateurs de convertion, dans le code d'Emmanuel, ne sont pas là pour rien. Il est dès lors intéressant de poser des questions si cela ne correspond pas à ce que tu as fait.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  20. #20
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    #include <stdio.h>
     
    int main (void)
    {
       int tab[4][5];
       size_t i;
       size_t nb_lin = sizeof tab / sizeof *tab;
       size_t nb_col = sizeof *tab / sizeof **tab;
     
       fprintf (stdout, "lin=%u col=%u\n", (unsigned) nb_lin, (unsigned) nb_col);
     
       for (i = 0; i < nb_lin; i++)
       {
          size_t j;
          for (j = 0; j < nb_col; j++)
          {
             tab[i][j] = i + j;
             fprintf (stdout, "%3u", tab[i][j]);
          }
          printf ("\n");
       }
       return 0;
    }
    Emmanuel->A quoi sert size_t i et j; vous ne vous en servait pas ?

    PS: Merci de m'avoir conseillé de poser des questions Thierry

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/05/2006, 08h59
  2. Problème avec redimensionnement tableau
    Par PoZZyX dans le forum Réseau
    Réponses: 18
    Dernier message: 20/04/2006, 15h46
  3. Problème avec un tableau et saut de ligne
    Par ero-sennin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 08/03/2006, 18h48
  4. Problème avec un tableau de tableau
    Par SubZero2 dans le forum Langage
    Réponses: 4
    Dernier message: 07/12/2005, 15h25
  5. problème avec un tableau dans un insert ...
    Par vbcasimir dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo