Bonjour à tous, alors voilà j'avais un problème avec la transmission d'un tableau bidirectionnel en argument d'une fonction, j'ai résolu le problème grâce à la FAQ cependant je n'ai pas compris la solution.
Voila mon code(il est pas terminé mais c pour servir de support):
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
#include <iostream>
 
using namespace std;
 
void remplissage(char *Espace2D, int N, int M, int iLig1, int iCol1, int iLig2, int iCol2, char couleur)
{
    for(int ligne = iLig1; ligne < iLig2; ligne++)
        for(int colonne = iCol1; colonne < iCol2; colonne++)
            Espace2D[iCol2 * ligne + colonne] = couleur;
}
 
int main()
{
    int nbLignes(0);
    int nbColonnes(0);
    cin >> nbLignes;
    cin >> nbColonnes;
    char Espace2D[nbLignes][nbColonnes];
    int N = sizeof(Espace2D) / sizeof(Espace2D[0]), M = sizeof(Espace2D[0]) / sizeof(Espace2D[0][0]);
    remplissage(*Espace2D, N, M, 0, 0, nbLignes, nbColonnes, '.');
    for(int ligne = 0; ligne < nbLignes; ligne++)
    {
        for(int colonne = 0; colonne < nbColonnes; colonne++)
        {
            cout << Espace2D[ligne][colonne];
        }
        cout << "\n";
    }
 
 
    int nbRectangles(0);
    cin >> nbRectangles;
 
 
 
 
    return 0;
}
Alors si je comprend bien les variables N et M que j'ai initialisé corresponde en réalité à nbLignes et nbColonnes (dites le moi si je dit une connerie).
Le passage que je comprend vraiment pas c'est ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Espace2D[iCol2 * ligne + colonne] = couleur;
je vois pas comment ça représente une case de mon tableau, si qqn veut bien m'expliquer ça serait sympa
Merci d'avance