plop plop plop,

je voudrais passer un tableau a deux dimmensions en parametre et j'obtient une erreur.

au debut j'avais mis une * comme pour un unidimensionel, mais apres reflection vu que le tableau a deux dimension ils semblerais logique de mettre deux *, mais j'obtient toujours une erreur de compilation :/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
 
#include <cstdlib>
#include <iostream>
 
void ClcPos(long *Ln, long *Cl);
void ClcPosAlt(long *Ln, long *Cl);
void PrintCarre(long Length, long **Tab);
void InitCarre(long Number, long **Tab);
 
using namespace std;
 
int main(void)
    {
    long Tab[11][11]; //ligne colone
    long Ln,Cl,Nb,N;
 
    Nb = 1;
 
    cout << "init du tableau bidimentionel 11x11\n";
    InitCarre(0, Tab);
    cout << "ajoute du 1\n\n";
    Tab[4][5] = Nb;
 
    PrintCarre(11, Tab);   
 
    for(N=0; N <121 ; N++ )
 
       {
       Nb++;
       cout<<"Nb = "<<Nb<<" \n";
       ClcPos(&Ln, &Cl);
       if(Tab[Ln][Cl] == 0)
          {
          Tab[Ln][Cl] = Nb;
          }
       else
          {
          do{
             ClcPosAlt(&Ln, &Cl);
             }while(Tab[Ln][Cl] == 0); 
          Tab[Ln][Cl] = Nb;
          }
       }
 
    cout << "tatata\n\n";
 
    PrintCarre(11, Tab);
 
    system("pause");
    }
 
    void ClcPos(long *Ln, long *Cl)
         {
         if (*Ln == 0)
            *Ln = 10;
         else
            *Ln--;
 
         if ((*Cl == 10) || (*Cl == 0))
             {
             if (*Cl == 10)
                {
                *Cl = 0;
                }
             else
                {
                *Cl = 10;
                }
             }
         else
             {
             *Cl++;
             }
         }
 
    void ClcPosAlt(long *Ln, long *Cl)
         {
         if (*Ln == 0)
            *Ln = 10;
         else
            *Ln++;
 
         if ((*Cl == 10) || (*Cl == 0))
             {
             if (*Cl == 10)
                {
                *Cl = 0;
                }
             else
                {
                *Cl = 10;
                }
             }
         else
             {
             *Cl--;
             }
         }
 
    //affiche le carré, si le tab a 11 case de 0 a 10 passer 11 en para
    void PrintCarre(long Length, long **Tab)
       {
       long Ln, Cl;
       for(Ln=0; Ln<Length; Ln++)
          {
          for(Cl=0; Cl<Length; Cl++)      
             {    
             cout <<Tab[Ln][Cl]<<" ";    
             }
          cout<<"\n";
          }  
        cout<<"\n"; 
        }
 
   void InitCarre(long Number, long **Tab)
      {
      long Ln, Cl;
      for(Ln=0; Ln<11; Ln++)
       {
       for(Cl=0; Cl<11; Cl++)      
          {
          Tab[Ln][Cl] = Number;             
          }
       }
      }
des idées?

merci