Classe matrice

cyrinelahsini Messages postés 6 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 24 avril 2006 - 24 avril 2006 à 21:08
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 - 25 avril 2006 à 12:00
salut,
je programme avec c++ sous linux.
j'utilise une class matrice avec une fonction membre qui doit me retourner une instance de cette class.
mais j'arrive pas à avoir des résultat. je vous montre là ou se trouve mon pb
le prg principal est :
#include
using namespace std;
#include <string.h>
#include "matrice.h"
#define lch 1000
#define wch 1000
#define kch 737


int main()
{
tab t,ti,b;
matrice pe(lch,wch);


//////// Génération et inversion d'un tableau de permutation///////


tableau tt; //tt est le tableau à utiliser pour le permutation
tt.permuter(); //generer un tableau tt de permutation aleatoire
tt.afficher();
tt.invert(b); //b est le tableau de permutation inverse



//////////////// Génération et inversion d'une matrice de permutation //////


matrice pin (lch,wch); //matrice identité
pin.permu(pe,b); //matrice de permutation inverse
}


la classe matrice est :
#include <stdio.h>
#include <stdlib.h>
//#include "tableau.h"
#include
using namespace std;
#define lch 1000
#define wch 1000
#define kch 737
typedef unsigned int tab[lch];
typedef unsigned char mg ;


class matrice
{
//attribute
private :
unsigned int n; // Nombre de lignes
unsigned int m; // Nombre de colonnes
unsigned char p[lch][wch];


//operators
public :
matrice(unsigned int nl, unsigned int nc);
matrice permu (matrice pe,tab t);
void inverser (tab t);


private:
void setIJ(unsigned int line, unsigned int col, unsigned int value){
this.p[line][col]=value;
}


unsigned int getIJ(unsigned int line, unsigned int col){
return this.p[line][col];
}
};


matrice::matrice(unsigned int nl, unsigned int nc)


{
this.n = nl;
this.m = nc;
//mg ma[n][m]; // allocations
int i,j;
for (int i=0; i<n; i++)
{
for(int j=0; j<m; j ++)
if (i==j) this.p[i][j]=1;
else this.p[i][j]=0;
}
}


matrice matrice :: permu(matrice pe,tab t)
{
unsigned int k;
matrice pe(lch,wch);


for (int i=0;i<lch;i++)
for(int j=0;j<wch;j++)
{ k= t[j];
pe.setIJ(i,j,this.getIJ(i,k-1));
cout<< pe.getIJ(i,j)<<" ";


}
return(pe);
}

merci de bien vouloir m'aider

11 réponses

cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
24 avril 2006 à 21:15
return pe;

ca dit koi?

déja return(pe); je suis perplexe sur cette expression.



@+;
satellite34

http://wxcod.free.fr/forum/
0
cyrinelahsini Messages postés 6 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 24 avril 2006
24 avril 2006 à 21:21
le type de rerour de ma fonction est matrice, donc je dois l'avoir en sortie
0
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
24 avril 2006 à 21:33
return n'a pas d'arguments entre (), il retourne une valeur

return pe; est la bonne syntaxe, maintenant si ta matrice n'est pas correctement calculée au moment du return ben ca retournera nimporte quoi, mais avec

matrice pe;

return pe;

retour de la matrice pe;



@+;
satellite34

http://wxcod.free.fr/forum/
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
24 avril 2006 à 21:58
CA:



#define lch 1000
#define wch 1000

...
unsigned int n; // Nombre de lignes
unsigned int m; // Nombre de colonnes
unsigned char p[lch][wch];



C'est tes profs qui te disent de faire ca car vous n'avez pas encore vu l'allocation dynamique ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
25 avril 2006 à 11:38
satellite34 --> On peut écrire return avec ou sans parenthèses, ça ne change rien. En effet, return va retourner le résultat d'une expression.

Si tu ne me croit pas, regarde la STL ou la source de la CRT.

cyrinelahsini --> Dans ta fonction permu, tu n'as pas d'erreur à la compilation ? Tu déclare une variable qui a le même nom qu'un paramètre.
Dans ta fonction main, tu ne récupère pas la valeur de retour, il faudrait faire :

pe = pin.permu(pe, b);
0
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
25 avril 2006 à 11:49
d'accord autant pour moi, jamais vu ca m'enfin, si tu le dis...



@+;
satellite34

http://wxcod.free.fr/forum/
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
25 avril 2006 à 11:50
Pour faire plaisir à Kirua, tu a fait une faute d'orthographe ^^

Autant pour moi ---> Au temps pour moi
0
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
25 avril 2006 à 11:55
quoi?????? tu vas m'apprendre l'orthographe??? alors la , mort de rire !!!!

autant pour moi -->
je prends autant de critiques pour moi que ce que j'ai distribué aux autres.

il ya a bien un débat sur cette expression, mais au québec, ai ces québecquois , ils ne veulent jamais rien faire comme tout le monde, sinon, il, est clair que les fautes d'orthographes ou d'itération sont rares avec moi, mis a part en cas de stress intense ou de tapage a la vas-vite, alors s'il vous plait pas ça !!!!!

allé, sans rancunes.
@+;
satellite34

http://wxcod.free.fr/forum/
0
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
25 avril 2006 à 11:55
Pour faire plaisir à Kirua, tu a fait une faute d'orthographe ^^

tu assssssssssssssss



@+;
satellite34

http://wxcod.free.fr/forum/
0
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
25 avril 2006 à 11:59
allé aprés j'arrete :

http://tatoufaux.com/article.php3?id_article=199


le débat fait encore rage!!!
mais plus ché nous, je tiens a le dire

@+;
satellite34

http://wxcod.free.fr/forum/
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
25 avril 2006 à 12:00
http://www.langue-fr.net/index/A/au_temps-autant.htm

Bon arrêtons le débat et revenons sur le sujet principal stp.
0
Rejoignez-nous