diff options
Diffstat (limited to 'sem_2/HLIN202/devoir/exo2.cpp')
| -rw-r--r-- | sem_2/HLIN202/devoir/exo2.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/sem_2/HLIN202/devoir/exo2.cpp b/sem_2/HLIN202/devoir/exo2.cpp new file mode 100644 index 0000000..6fda8c0 --- /dev/null +++ b/sem_2/HLIN202/devoir/exo2.cpp @@ -0,0 +1,58 @@ +#include<iostream>
+
+//PROTOTYPES
+int ** inverseL ( int **,int,int);
+void affichemat ( int **,int,int);
+
+
+//FONCTIONS
+int ** inverseL ( int ** matrice, int lignes, int colonnes) { // inverse le contenu de chaque ligne de matrice
+ int ** inverse = new int*[lignes]; // creation d'une nouvelle matrice, sur le tas
+ for ( int i = 0; i < lignes; i ++){
+ inverse[i]=new int[colonnes]; // suite de la creation de la matrice
+ for(int j = 0; j < colonnes; j ++) {
+ inverse[i][j]= matrice[i][colonnes-1-j]; // on rempli la nouvelle matrice, en mettant dans chaque case la valeur situee a l'opposee de la ligne
+ }
+ }
+ return inverse;
+}
+
+void affichemat ( int ** matrice, int lignes, int colonnes){ // affiche matrice
+ for ( int i = 0; i < lignes; i ++) {
+ std::cout << "| ";
+ for ( int j = 0; j < colonnes; j ++) {
+ std::cout<< matrice[i][j]<<" ";
+ }
+ std::cout<<"|"<<std::endl;
+ }
+}
+
+//MAIN
+int main () {
+ int m, n;
+ int ** B;
+ std::cout << " Saissisez le nombre de lignes de la matrice : ";
+ std::cin>> m;
+ std::cout<<std::endl<<" Saissisez le nombre de colonnes de la matrice : ";
+ std::cin>>n;
+ std::cout<<std::endl;
+ int **matrice= new int*[m];
+ for ( int i = 0; i <m; i ++ ){
+ matrice[i]=new int[m];
+ for (int j = 0; j <n;j++) {
+ matrice[i][j]= i + j; // initialisation de la matrice...
+ }
+ }
+ B= inverseL(matrice, m, n);
+ std::cout<< " Matrice initiale : "<< std::endl;
+ affichemat(matrice,m,n);
+ std::cout<<std::endl<< " Matrice apres inversion des lignes : " << std::endl;
+ affichemat(B,m,n);
+ for ( int i = 0; i < m; i ++) { // liberation de l'espace memoire ( sur le tas ) que le programme a utilisé
+ delete[] matrice[i];
+ delete[] B[i];
+ }
+ delete[] matrice;
+ delete[] B;
+ return 0;
+ }
|
