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 de la matrice


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Par défaut affichage de la matrice
    bonjour,

    Je voudrais afficher une matrice. J'ai utilisé un tableau à deux dimensions.
    Voici le programme que j'ai fait:

    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
    25
     
     
    #include<stdio.h>
     
    main()
    {
     
      int i;
      int j;
      int tab[2][3]={{1,2,5},{8,7,6}};
      int N;
      N=2;
      int M;
      M=3;
      for(i=0;i<N;i++)
      {
        for(j=0;j<M;j++)
        {    
          printf("[%d]",tab[i][j]); 
     
        } 
     
      }   
    getchar();
    }
    Lorsque je compile celà marche mais ca m'affichie tout en ligne.
    Alors je boudrais qu'il m'affiche la matrice avec 2 lignes et 3 colonnes.
    Je n'arrive pas à résoudre mon problème.
    Quelqu'un pourrait m'aider??

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      for(i=0;i<N;i++)
      {
        for(j=0;j<M;j++)
        {    
          printf("[%d]\t",tab[i][j]); 
        } 
        printf("\n"); 
      }
    (note l'ajout de "\t" dans le premier printf, et l'ajout d'un 2e printf après la boucle interne)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Par défaut
    Merci pour ta réponse

    Maintenant j'ai fait évoluer mon programme. Dans un premier temps:
    -Je choisis la dimension de ma matrice que j'entre au clavier
    -Ensuite j'entre les nombres de la matrice à la main.
    -Je souhaiterais ensuite afficher cette matrice.

    Voici le programme que j'ai fait:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
    #include<stdio.h>
     
    main()
    {
     
      int N;
      int M;
      int i;
      int j;
      int tab[50][50];
     
      //choisir la dimension de ton tableau 
      printf("entrer le nombre de lignes:");
      scanf("%d",&N);
      printf("entrer le nombre de colonnes:");
      scanf("%d",&M); 
     
      // entrer les chiffres à la main 
    for(i=1;i<=N;i++)
    {
      printf("entrer le %d chiffre");
      scanf("%d",&i);        
    }
    for(j=1;j<=M;i++)
        {
          printf("entrer le %d chiffre");
          scanf("%d",&j);                                 
        }                   
     
    //affichage de la matrice//   
    for(i=1;i<=N;i++)
     {
        for(j=1;j<=M;j++)
        {    
          printf("%d ",tab[i][j]); 
        } 
        printf("\n");
     }   
      getchar();getchar();
    }
    Lorsque je compile le programme, celui ci fonctionne je n'ai pas d'erreur. Mais j'ai un problème lorsque j'entre les nombres.
    Lorsque j'affiche ma matrice celle ci n'affiche que des zéros par contre les dimensions que j'ai souhaité correspondent. Je n'arrive pas à savoir quel est le programme.

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for(i=1;i<=N;i++)
    {
      printf("entrer le %d chiffre");
      scanf("%d",&i);        
    }
    for(j=1;j<=M;i++)
        {
          printf("entrer le %d chiffre");
          scanf("%d",&j);                                 
       }
    Tu ne mets rien dans ta matrice. Tu mets des valeurs dans i et j, c'est tout.

    On devrait avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for(i=0;i<N;i++)
       for(j=0;j<M;i++)
       {
          printf("entrer l'élément %d, %d", i+1, j+1);
          scanf("%d",&tab[i][j]);        
       }
    Attention, les indices des tableaux commencent à 0, pas à 1 (corrige aussi la partie affichage)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Par défaut
    Merci pour ta réponse j'ai résolu mon problème.Je suis en train de faire un autre exercice(toujours avec les tableaux) dont voici l'énoncé :

    Calculer pour une valeur X donnée du type float la valeur numérique d'un polynôme de degré n:

    P(X) = AnXn + An-1Xn-1 + ... + A1X + A0

    Les valeurs des coefficients An, ... , A0 seront entrées au clavier et mémorisées dans un tableau A de type float et de dimension n+1.

    a) Utilisez la fonction pow() pour le calcul.

    b) Utilisez le schéma de Horner qui évite les opérations d'exponentiation:


    J'ai donc créer deux vecteurs. Le premier vecteur est le vecteur où j'entre à la main les coefficiants de mon polynôme le deuxième vecteur est le vecteur qui contient mes x élevés à la puissance.
    Ensuite l'idée est de multiplier ces deux vecteurs pour former mon polynôme et pouvoir le résoudre.
    Mon souci est pour former le deuxième vecteur(vecteur des x élevé à la puissance) car en fait je mélange des caractères avec des entiers: et c'est là où je m'embrouille je sais pas comment faire pour le fabriquer?
    voilà ce que j'ai commencé à faire:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
     
    #include<stdio.h>
    #include<math.h>
     
    main()
    {
      int U[50];
      int V[50];
      int N;
      int i;
      int j;
      float x;
     
      //choisir le degré polynôme 
      printf("choisir le degré de nôtre polynôme:");     
      scanf("%d",&N);    
     
      //Entrer les éléments du premier vecteur 
      for(i=1 ;i<=N ;i++)
      {
        printf("Entrer le %d coefficcient:");
        scanf("%d",&U[i]);
      }
      //Entrer les éléments du deuxième vecteur
      for(j=1 ;j<=N ;j++)
      {
        printf("remplir le deuxième vecteur:");
        scanf("%s",&V[j]);
      }
      //Affichage des 2 vecteurs
      for( i=1 ;i<=N; i++ ) 
      {
        printf("%d ",U[i]);
      }
        printf("\n");
     
      for( j=1;j<=N; j++)
      {
           printf("%s",V[j]);   
      }   
        printf("\n");
     
     //Produit des deux vecteurs
      for( i=1,j=1 ;i,j<=N; i++,j++ )
      {
             printf("%d*%d ",U[i]*V[j]);       
      }
        getchar();getchar();
    }
    Saurais tu comment former ce deuxième vecteur?

Discussions similaires

  1. Affichage d'une matrice dans un edit
    Par harris_macken dans le forum Interfaces Graphiques
    Réponses: 15
    Dernier message: 22/11/2007, 21h35
  2. Réponses: 5
    Dernier message: 10/11/2007, 10h20
  3. [TP] Affichage d'une matrice
    Par williamdunord dans le forum Turbo Pascal
    Réponses: 19
    Dernier message: 28/05/2007, 20h46
  4. Affichage/Disparition de matrice
    Par hugo1992 dans le forum Graphisme
    Réponses: 2
    Dernier message: 24/03/2007, 16h56
  5. Affichage d'une matrice
    Par ypascal dans le forum Pascal
    Réponses: 7
    Dernier message: 24/04/2006, 20h03

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