begin process at 2008 08 29 22:34:21
1 233 930 membres
450 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : classe matrice [ Archives / Au secours ] (cyrinelahsini)

classe matrice le 24/04/2006 21:08:14

cyrinelahsini

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 <iostream>
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 <iostream.h>
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  


Re : classe matrice le 24/04/2006 21:15:56

satellite34
return pe;

ca dit koi?

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


@+;
satellite34

http://wxcod.free.fr/forum/


Re : classe matrice le 24/04/2006 21:21:08

cyrinelahsini
le type de rerour de ma fonction est matrice, donc je dois l'avoir en sortie

Re : classe matrice le 24/04/2006 21:33:23

satellite34
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/


Re : classe matrice le 24/04/2006 21:58:01

luhtor
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 ?


Re : classe matrice le 25/04/2006 11:38:26

nightlord666
Membre Club
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);

Re : classe matrice le 25/04/2006 11:49:00

satellite34
d'accord autant pour moi, jamais vu ca m'enfin, si tu le dis...


@+;
satellite34

http://wxcod.free.fr/forum/


Re : classe matrice le 25/04/2006 11:50:12

nightlord666
Membre Club
Pour faire plaisir à Kirua, tu a fait une faute d'orthographe ^^ Autant pour moi ---> Au temps pour moi

Re : classe matrice le 25/04/2006 11:55:16

satellite34
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/


Re : classe matrice le 25/04/2006 11:55:55

satellite34
Pour faire plaisir à Kirua, tu a fait une faute d'orthographe ^^


tu assssssssssssssss


@+;
satellite34

http://wxcod.free.fr/forum/



[Page 1 Page 2]
Classé sous : int, include, matrice, unsigned, lch

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS