Faire des copies d'une matrice

Résolu/Fermé
shili0 - 8 mai 2013 à 20:21
 shili0 - 8 mai 2013 à 23:00
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
8 mai 2013 à 20:28
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
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
8 mai 2013 à 20:53
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
c'est ca marche
0