Suppression d'une ligne ou colonne d'une matrice avec C++

saidkoukou Messages postés 6 Date d'inscription mercredi 20 juillet 2011 Statut Membre Dernière intervention 10 octobre 2011 - 3 oct. 2011 à 19:32
cptpingu Messages postés 3835 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 1 novembre 2022 - 4 oct. 2011 à 10:34
j'ai écrit un petit programme C++ avec lequel je manipule une matrice.j'ai essayé d'appliquer la suppression d'une ligne et d'une colonne de cette matrice.Mais, je n'ai pas observé aucun changement au niveau de la matrice.
il faut noter que le code est bien compilé.
voila le code:

#include <cstdlib>
#include
#include<vector>
#include <conio.h>
using namespace std;
class DynMatrix
{
public:
vector < vector <double> > V;
DynMatrix(int,int);
~DynMatrix();
void set(int,int,double);
double get(int,int);
void affiche();
void deleterow(int);
void deletecol(int);
};
DynMatrix::DynMatrix(int nbrow,int nbcol)
{
V.resize(nbcol);
for (int i=0;i<V.size();i++)
{

V[i].resize(nbrow);
}
}
void DynMatrix::affiche()
{
for (int i=0;i<V.size();i++)
{
vector <double> inter;
inter=V[i];
for(int j=0;j enter;
enter=V[i];
enter.erase(enter.begin()+x);
}
}
void DynMatrix::deletecol(int x)
{
vector <double> enter;
enter=V[x];
enter.clear();
}




int main(int argc, char *argv[])
{
DynMatrix *M;
M=new DynMatrix(5,5);
for(int i=0;i<5;i++)
{
for (int j=0;j<5;j++)
M->set(i,j,2);
}
M->deleterow(3);
M->deletecol(3);

M->affiche();

getch();
system("PAUSE");
return EXIT_SUCCESS;
}
Merci de me répondre dans le temps le plus proche.
Merci d'avance

1 réponse

cptpingu Messages postés 3835 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 1 novembre 2022 124
4 oct. 2011 à 10:34
Bonjour.

- Merci d'utiliser les balises de code !
- Évite les "using namespace", voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace
- Enfin, je ne comprends pas ton code. Tu crées à chaque fois un std::vector local qui est détruit dès que l'on sort de la fonction, et tu y copies le contenu de ton attribut std::vector. Ça ne risque pas de fonctionner... Ce n'est pas "enter" mais "V[i]" sur lequel tu dois agir.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0