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 :

affichage d'une matrice carrée


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut affichage d'une matrice carrée
    bonjour,
    en fait je voulais afficher ma matrice sous forme:
    1 2 3 4
    3 0 4 6
    1 2 3 4
    3 0 4 6
    je veux garder la forme habituelle d'une matrice(affichage ligne par ligne)
    mais j'ai pas reussi à le faire.Ce que j'ai pu faire c' est d' afficher les élements de la matrice successivement (1 2 3 5 78 09 099 par exemple).
    si quelqu'un a une idée qu'il la partage ....je serais trés reconnaissante.
    merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut Solution
    sa fait très long temps j'ai pas programmer avec le c ( 3 ans ) mais je panse sa marche
    il faut ajouter le caractère saute de ligne \n
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include<stdio.h>
    main()
    {
    int matrice[50,50];
    for(int i =0;i<50;i++){
    for(int j=0;j<50;j++) printf('%d',&matrice[i;j]);
    //sauter la ligne apès chaque affichage d'une ligne
                                printf('\n');
                                }
    }

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    merci pour votre reponse.
    mais j'ai essayer et ça n'a pas marché

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    ben c'est normal ...

    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
    #include<stdio.h>
    
    int main(void)
    {
    int matrice[50,50];
    int i, j ;
    
    printf ( "\n");
    for( i =0; i<50 ;i++){
    { 
       for(j=0;j<50;j++)
            printf("%4d", matrice[i][j]);
    
       printf ( "\n");
    
    }
    return 0 ;
    }
    j'ai mis 4d pour avoir toujours des chiffres de 4 caracteres de large, ce qui donne de 1 a 999, avec 1 espace entre...

    Ca peut se modifier,,,

  5. #5
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Bonsoir,

    Cette notation est permise en C ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int matrice[50,50];
    ....

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par ssmario2 Voir le message
    Bonsoir,

    Cette notation est permise en C ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int matrice[50,50];
    ....
    bien sur n'est pas permise....mais notre ami ca fait longtemps qu'il n'a pas programmer c est pour ça.
    pour le printf oui..effectivement on doit pas mettre le &
    merci pour vous deux pour vos reponses

  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 ssmario2 Voir le message
    Cette notation est permise en C ?
    Oui, mais elle ne fait pas ce que tu crois. Elle est équivalente à

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    ben c'est normal ...

    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
    #include<stdio.h>
    
    int main(void)
    {
    int matrice[50,50];
    int i, j ;
    
    printf ( "\n");
    for( i =0; i<50 ;i++){
    { 
       for(j=0;j<50;j++)
            printf("%4d", matrice[i][j]);
    
       printf ( "\n");
    
    }
    return 0 ;
    }
    j'ai mis 4d pour avoir toujours des chiffres de 4 caracteres de large, ce qui donne de 1 a 999, avec 1 espace entre...

    Ca peut se modifier,,,
    Oui ça trés bien marché!!

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut au prochaine question...
    Citation Envoyé par s-ehtp Voir le message
    Oui ça très bien marché!!
    félicitation vous m'avez donnez l'occasion de révisé mon cour algo de 2 eme année lol

  10. #10
    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 souviron34 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
    #include<stdio.h>
    
    int main(void)
    {
    int matrice[50,50];
    int i, j ;
    
    printf ( "\n");
    for( i =0; i<50 ;i++){
    { 
       for(j=0;j<50;j++)
            printf("%4d", matrice[i][j]);
    
       printf ( "\n");
    
    }
    return 0 ;
    }
    Ce code retourne les erreurs de compilation suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ||=== dvp, Debug ===|
    /home/thierry/devel/forums/dvp/main.c||In function «main":|
    /home/thierry/devel/forums/dvp/main.c|5|erreur: expected «]" before «," token|
    /home/thierry/devel/forums/dvp/main.c|12|erreur: «matrice" undeclared (first use in this function)|
    /home/thierry/devel/forums/dvp/main.c|12|erreur: (Each undeclared identifier is reported only once|
    /home/thierry/devel/forums/dvp/main.c|12|erreur: for each function it appears in.)|
    /home/thierry/devel/forums/dvp/main.c|18|erreur: expected declaration or statement at end of input|
    /home/thierry/devel/forums/dvp/main.c|9|attention : ne sera jamais exécuté|
    /home/thierry/devel/forums/dvp/main.c|18|attention : control reaches end of non-void function|
    ||=== Build finished: 7 errors, 0 warnings ===|
    En particulier, int matrice[50, 50] n'est pas une syntaxe valide en C et le tableau matrice n'a pas été initiallisé avant l'affichage.

    Code C : 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>
     
    #define NB_LIGNES 5
    #define NB_COLS 10
     
    int main(void)
    {
        int matrice[NB_LIGNES][NB_COLS] = {{0}};
        int i, j ;
     
        for (i = 0; i < NB_LIGNES; i++)
        {
            for (j = 0; j < NB_COLS; j++)
            {
                printf("%4d", matrice[i][j]);
            }
            printf ( "\n");
        }
        printf("\n");
     
        return 0;
    }

    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++

    +

  11. #11
    Membre chevronné
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    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
     
    #include <stdio.h>
     
    int main(void)
    {
    int matrice[50][50];
    int i, j ;
     
    printf ( "\n");
    for( i =0; i<50 ;i++){
    { 
       for(j=0;j<50;j++)
            printf("%4d", matrice[i][j]);
     
       printf ( "\n");
     
    }
     
    return 0 ;
     
    }
    voilà,
    ici le tableau n'est pas initialisé, donc des valeurs aleatoires apparaitront

  12. #12
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    En particulier, int matrice[50, 50] n'est pas une syntaxe valide en C et le tableau matrice n'a pas été initiallisé avant l'affichage.
    j'avais même pas vu désolé j'ai été à l'essentiel et j'ai passé trop vite sur le reste.

    Milles excuses et merci, Thierry

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut plus explication
    mon frère vous pouvez nous ré expliquer le problème par ce que meme notre ami souviron34 il a répondu presque comme moi?
    merci

  14. #14
    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 Rombo Voir le message
    sa fait très long temps j'ai pas programmer avec le c ( 3 ans ) mais je panse
    "Je panse donc j'essuie"...

  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 s-ehtp Voir le message
    en fait je voulais afficher ma matrice sous forme:
    1 2 3 4
    3 0 4 6
    1 2 3 4
    3 0 4 6
    Tu as probablement 2 boucles imbriquées.Il suffit de placer un '\n' au bon moment...

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

Discussions similaires

  1. Inversion d'une matrice carrée d'ordre
    Par rassol3 dans le forum C
    Réponses: 2
    Dernier message: 01/12/2006, 09h40
  2. Calculer le determinant d'une matrice carrée
    Par NThierry dans le forum C
    Réponses: 15
    Dernier message: 27/08/2006, 11h31
  3. Affichage d'une matrice
    Par ypascal dans le forum Pascal
    Réponses: 7
    Dernier message: 24/04/2006, 20h03
  4. Sous matrice carrée d'une matrice carrée
    Par devils55 dans le forum C++
    Réponses: 2
    Dernier message: 13/11/2005, 19h07
  5. Initialisation d'une matrice carrée (malloc...)
    Par kilinette dans le forum C
    Réponses: 4
    Dernier message: 17/10/2005, 19h57

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