Faire des copies d'une matrice

Résolu
shili0 -  
 shili0 -
salut,
comment faire une copie d'une matrice en c++.je vaux travailler sur la copie et garder l'original telquelle est.
j'ai fait cette déclaration :
soit "mat" ma matrice original et "M" la copie
int **M=mat;
si je fait ca et et je fait une action sur "M" automatiquement "mat" change

3 réponses

  1. Utilisateur anonyme
     
    Bonjour.

    Déclare M de la même dimension que mat.
    Ensuite tu fais une double boucle for pour recopier.

    for (int i = 0; i < lignes_mat; i++) {
    for (int j = 0; j < colonnes_mat; j++) {
    M[I][J] = mat[i][j];
    }
    }

    Sans oublier de remplacer lignes_mat et colonnes_mat par les bonnes valeurs ou variables.

    Je ne sais pas si c'est le plus efficace (je fais juste du C) mais je suis sûr que la méthode marche.
    0
    1. shili0
       
      cette methode marche mais le probleme c'est que si je fait une action sur la matrice copie alors loriginal change automatiquement
      0
  2. Utilisateur anonyme
     
    Pourtant cela devrait marcher. :/
    En effet on met dans les cases de M les entiers de mat et non leur référence.
    Désolé, mes compétences en C++ sont limitées à celles du C.

    PS : "Ajouter un commentaire", comme son nom l'indique, sers à ... ajouter un commentaire et non à répondre. Merci.
    0