| 12
 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
 57
 58
 59
 60
 61
 62
 63
 64
 
 | #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=0;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 
                                                      // lutilisateur
      {  
           int i,j;
           for(i=0;i<n;i++){
           for(j=0;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=0;i<n;i++){
           for(j=0;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;
 
           int **tab= ConstructionMatrice(n,p);  //j'alloue l'espace mémoire pour le pointeur de retour tab
           for(i=0;i<n;i++){
           for(j=0;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
    if(n==m && p==q){
   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
   cout<<"matrice resultat de la somme des deux matrices"<<endl;
    AfficheMatrice(temp2,n,p);}// affichage de la matrice résultat
    else cout<<"sommation impossible"<<endl;
    system("pause");
    return(0);
} | 
Partager