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

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
shili0
 
cette methode marche mais le probleme c'est que si je fait une action sur la matrice copie alors loriginal change automatiquement
0
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
shili0
 
c'est ca marche
0