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 :

saisie et Affichage un tableau 2D


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de jbarreau-mainson
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 446
    Par défaut saisie et Affichage un tableau 2D
    Bonjour à tous,

    je débute en C et j'aimerais saisir des valeurs dans un tableau 2 dimensions puis simplement l'afficher.

    Voila ce que j'ai fait, ca ne marche malheuresement pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void print1()
    {
    int i=0, cpt=0, j=0;
    float num[M][M];
     
    do{
    printf("Saisissez numero puis un autre\n");
    scanf("%f, %f",num[i][j]);
    cpt++;}
    while (cpt < M);
     
    printf("%f, %f",num[i][j]);
    }

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf("%f, %f",num[i][j]);
    remplace par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf("%f",&num[i][j]);
    En effet scanf attends une adresse d'où le & devant la variable



    Ensuite tu n'incrémentes jamais les valeurs de i et j

    normalement tu devrais avoir un boucle comme ceci pour la saisie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i=0;i<M;i++)
       for(int j=0;j<M;j++)
          scanf("%f",&num[i][j]);

    pour l'affichage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i=0;i<M;i++)
       for(int j=0;j<M;j++)
         pinrtf("%f\n",num[i][j]);

  3. #3
    Membre chevronné Avatar de jbarreau-mainson
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 446
    Par défaut
    J'ai fait ce que tu m'as conseillé, mais ca ne sors jamais de la boucle

    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
    void print1(){
    int i=0, cpt=0, j=0;
    float num[M][M];
     
        do{
        printf("Saisissez un numero puis un autre\n");
     
            for ( i = 0 ; i < M ; i++ ){
                for( j = 0 ; j < M ; j++ ){
                scanf("%f",&num[i][j]);
                cpt++;
                }
            }
        }
     
        while (cpt < M);
        for( i = 0 ; i < M ; i++ ){
            for( j = 0 ; j < M ; j++ ){
            printf("%f\n",num[i][j]);
            }
        }
    }


    EDIT :
    Autant pour moi j'avais mal placé le cpt++

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for ( i = 0 ; i < M ; i++ ){
                for( j = 0 ; j < M ; j++ ){
                scanf("%f",&num[i][j]);
     
                }
    cpt++;
            }

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    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
    void print1()
    {
    int i=0, j=0;
    float num[M][M];
     
    do{
    do{
    printf("Saisissez numero \n");
    scanf("%d",&num[i][j]);
    i++;
    }
    while (i < M);
    i=0;
    j++;
    while (j < M);
     
    for ( i = 0 ; i < M ; i++ ){
                for( j = 0 ; j < M ; j++ )
                printf("%d",num[i][j]);
    }
    }

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par BeaV* 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
    21
    22
    void print1(){
    int i=0, cpt=0, j=0;
    float num[M][M];
     
        do{
        printf("Saisissez un numero puis un autre\n");
     
            for ( i = 0 ; i < M ; i++ ){
                for( j = 0 ; j < M ; j++ ){
                scanf("%f",&num[i][j]);
                cpt++;
                }
            }
        }
     
        while (cpt < M);
        for( i = 0 ; i < M ; i++ ){
            for( j = 0 ; j < M ; j++ ){
            printf("%f\n",num[i][j]);
            }
        }
    }
    c'est quoi ce do while il sert à quoi ? ne me réponds pas à boucler la saisie...

  6. #6
    Invité de passage
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Par défaut
    [I]do while[I]est une instruction d'itération presque identique à while,sauf
    qu'elle peut assurer l'exécution de boucle au mois d'une fois

  7. #7
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par syd19832000 Voir le message
    [I]do while[I]est une instruction d'itération presque identique à while,sauf
    qu'elle peut assurer l'exécution de boucle au mois d'une fois
    ...je n'ai pas demandé ce que c'était mais à quoi cela servait dans ce code, à priori à rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Struts]probleme de saisie et affichage de la saisie
    Par stanilas dans le forum Struts 1
    Réponses: 9
    Dernier message: 02/08/2005, 09h26
  2. Probleme affichage dans tableau selon requête
    Par moulette85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/03/2005, 15h44
  3. [W3C] affichage de tableau
    Par Anonymous dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/12/2004, 14h40
  4. affichage de tableau dynamique
    Par EJ dans le forum XMLRAD
    Réponses: 12
    Dernier message: 04/06/2004, 10h58
  5. Saisie et affichage d'une chaîne de caractères
    Par sali dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/03/2004, 18h01

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