J'arrive pas a passer une Matrice a une fct

Résolu
Dami -  
 Damoi -
Bonjour,
j'arrive pas a passer une Matrice à une fct dans un proramme C++ ,klk'1 peut me faire un exemple d'un passage d'1e MATRICE a une fonction merçi d'avance :)
Configuration: Windows XP,Kubuntu
Firefox 3.0

11 réponses

  1. tde
     
    Hello !

    Ben, par exemple, pour passer une matrice d'entiers, tu fais ainsi:

    void ma_fonction(int** mon_param){
      // ce qu'il y a à faire
    }
    


    Puis, pour l'appeler:

    ...
        int** ma_matrice;
        // initialisations ici
        mafonction(ma_matrice);
    ...
    
    0
  2. belhauss Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   3
     
    Hello!
    et pour la taille de matrice ??on la met où ???
    par exemple
    int Matrice [Maxli][Maxco];
    0
  3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    En C++, je te conseil de faire un objet matrice et de le passer:
    class Matrice{//def};
    void ma_fonciton(Matrice & a){//la fonciton}
    sinon, avec la méthode de tde, il faut faire :
    void ma_fonction(int** a,int m, int n);//pour une matrice de taille m sur n
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Dami
     
    wé la méthode de tde marche pas tjrs (parfois elle me donne des valeurs stockées dans la RAM genre de 256 ,-15385, 2548 ... qu'on ne peut pas la madifier ya t-il une autre méthode ou bien il me manque un ptit détqil wa Help please
    0
  6. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    as tu bien fait toute les allocations mémoires nécessaire ?
    en C++, je te conseil vraiment de passer par des objet, c'est plus simple
    0
  7. Dami
     
    s'il te plaît rapele moi comment on alloue du l'espace mémoire pour une matrice ?:(
    *matrice = new int [nmbrline*nmbrcolon]; esk c'est just cette méthode ???????
    sinon :$ corigez la moi merçi en tt cas
    0
  8. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    J'ai du mal avec les allocation mémoire, mais je dirai :
    matrice = new int*[dim1];
    for(int i=0;i<dim1;i++)
    matrice[i]=new int[dim2];

    et ne pas oublier de TOUT libérer à la fin.
    0
  9. Dami
     
    :-o merçi bcp :D just une ptite et peut étre la dernier question ben j'esper:)
    ma matrice est déclaré comme suivant
    int **mat;
    cette allocation fonctionera??
    car il me donne tjjrs "abnormal program termination"
    matrice = new int*[dim1];
    for(int i=0;i<dim1;i++)
    matrice[i]=new int[dim2];
    0
  10. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    je n'ai pas testé l'allocation, mais si elle compile, elle devrai fonctionner.
    Il interviens où ton problème ?
    Si tu veux voir un exemple d'un type matrice que j'ai fait regarde là:
    http://mapage.noos.fr/julien.lamome/prog/matriceV5.h
    selon ce que tu veux faire ça pourrai te simplifier la tâche.
    0