 <p>Maybe another solution would be:</p> <pre><code>#include &lt;iostream&gt; using namespace std; int colonne; int ligne; void initDamier (int **damier, int ligne, int colonne) { for (int i = 0; i &lt; ligne; ++i){ for (int j = 0; j &lt; colonne; ++j){ damier[i][j]=0; //0=case vide } } } </code></pre> <p>-</p> <pre><code>void afficheDamier (int **damier, int ligne, int colonne) { for (int i = 0; i &lt; ligne; ++i) { cout&lt;&lt;endl; for (int j = 0; j &lt; colonne; ++j) { cout&lt;&lt;damier[i][j]&lt;&lt;"|"; } } cout&lt;&lt;endl; } </code></pre> <p>-</p> <pre><code>int main() { int a,b; cout&lt;&lt;"Entrez le nombre de ligne du damier:"&lt;&lt;endl; cin&gt;&gt;a; ligne=a; cout&lt;&lt;"Entrez le nombre de colonne du damier:"&lt;&lt;endl; cin&gt;&gt;b; colonne=b; int** damier = new int*[colonne]; for(int i=0;i&lt;colonne;i++) damier[i] = new int[ligne]; initDamier(damier,ligne, colonne); afficheDamier(damier, ligne, colonne); for(int i=0;i&lt;colonne;i++) delete damier[i]; delete[] damier; return 0; } </code></pre>