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 :

exercice : Matrice en c++


Sujet :

C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 24
    Par défaut exercice : Matrice en c++
    salut tous le monde
    je suis un nouveau membre dans ce forum et je suis vraiment impressioné par le progrès qu'il a eu grâce à vous cher développeurs
    aprés j'aimerai bien avoir une réponse de votre part sur un exercice de TD de langage C++.je coince sur une manipulation des pointeurs
    dans l'exo je doit faire une fonction:
    -int** ConstructionMatrice(int n, int p) permettant d’allouer dynamiquement de la mémoire pour
    une matrice M à n lignes et p colonnes.
    - void RemplitMatrice(int** M, int n, int p) permettant de faire remplir la matrice M par l’utilisateur.
    - void A cheMatrice(int** M, int n, int p) permettant d’a cher la matrice à l'écran.ffi ffi- int** AdditionneMatrice(int ** M,int n, int p, int **N, int m, int q) permettant d’additionner deux matrices
    voilà le code source que j'ai fait et malheureusement ça plante:

    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
    51
    52
    53
    54
    55
    56
    #include <iostream>
    using namespace std;
    int** ConstructionMatrice(int n, int p){
          int i;
          int** tab;
       tab=new int*[n];                     //  déclaration la fonction qui fait l'allocation de la matrice
          for(i=1;i<=n;i++){
          tab[i]=new int[p];}
          return tab;}
          void RemplitMatrice(int** tab, int n, int p)   // déclaration de la fonction  permettant de faire remplir la matrice M par 
                                                          // l’utilisateur
          {  
               int i,j;
               for(i=1;i<=n;i++){
               for(j=1;j<=p;j++){
               cout<<"tab["<<i<<"]"<<"["<<j<<"]      :";
               cin>>tab[i][j];
               cout<<endl;}}}
          void AfficheMatrice(int** tab, int n, int p){     // fonction qui permet d'afficher une matrice entrée en parametre
               int i,j;
               for(i=1;i<=n;i++){
               for(j=1;j<=p;j++){cout<<tab[i][j]<<"   ";}
               cout<<endl;}}
         int** AdditionneMatrice(int ** M,int n, int p, int **N, int m, int q){    // fonction qui additionne deux matrice passé en parametre
               int i,j;
               if(n==m && p==q){
     
               int **tab= ConstructionMatrice(n,p);  //j'alloue l'espace mémoire pour le pointeur de retour tab
               for(i=1;i<=n;i++){
               for(j=1;j<=p;j++){
               tab[i][j]=M[i][j]+N[i][j];
               }}
               return tab;}
               }
     
        main(){
        int n,p,m,q;
        cout<<"entrer le nombre de ligne"<<endl;
        cin>>n;
        cout<<"entrer le nombre de colonne"<<endl;
        cin>>p;
        int**temp= ConstructionMatrice(n,p); // là je construit un poiteur sur un tableau à deux dimensions
        RemplitMatrice(temp,n,p);     //remplissage de la matrice premiere matrice
        AfficheMatrice(temp,n,p);//  affichage de la premiere matrice
        cout<<"entrer le nombre de ligne"<<endl;
        cin>>m;
        cout<<"entrer le nombre de colonne"<<endl;
        cin>>q;
        int**temp1=ConstructionMatrice(m,q);   //contruction d'un deuxieme pointeur
        RemplitMatrice(temp1,m,q);    //remplissage de la deuxieme matrice
        AfficheMatrice(temp1,m,q);    //affichage de la deuxieme matrice
       int** temp2= AdditionneMatrice(temp,n,p,temp1,m,q);   //là je crée un pointeur temp2 et je lui affecte la matrice resultat de l'addition
        AfficheMatrice(temp2,m,q);// affichage de la matrice résultat
        system("pause");
        return(0);
    }
    dans l'attente d'une réponse de votre part veuillez agréez mes salutation les plus réspectueuses
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Exercice - Matrice creuse
    Par smerfe dans le forum Mathématiques
    Réponses: 4
    Dernier message: 15/07/2014, 17h49
  2. Exercice de synthèse: Addition de matrices
    Par Ecam2010 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/12/2010, 21h41
  3. [Dev-Pascal] Cherche exercices sur les matrices
    Par Virusnonoy dans le forum Autres IDE
    Réponses: 1
    Dernier message: 15/02/2009, 16h53
  4. exercices sur les matrices
    Par dakiahanan dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 23/12/2008, 01h32
  5. exercice sur les matrices
    Par massimo dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/03/2007, 17h20

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