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
// lutilisateur
{
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);
} |
Partager