Comment imprimer les tableaux 2d avec la fonction en C++?

Je suis en train de faire une fonction qui imprime deux dimensions des tableaux.
J'ai fait un qui imprime tableaux 1d.

 #include <iostream>
 using namespace std;

void printArray (int theArray[],int sizeOfArray);
int main ()

{
int array1[3] = {1,3,7};
int array2[5] = {123,5,23,2,324};

printArray(array1, 3);
printArray(array2, 5);

}  

void printArray (int theArray[],int sizeOfArray){


for (int x=0; x<sizeOfArray; x++) {
    cout<<theArray[x] <<" ";
}
cout<<endl;  
}

J'ai écrit ces codes pour l'impression 2d tableaux, mais j'ai échoué.

#include <iostream>
using namespace std;

void printArray (int theArray[][],int sizeOfRow, int sizeOfCol);

int main ()

{
int array[2][3] = {{1,3,7},{5,3,2}};

printArray(array, 2,3);


}

void printArray (int theArray[][],int sizeOfRow, int sizeOfCol){


for (int x=0; x<sizeOfRow; x++) 

    for (int y=0; y<sizeOfCol; y++) {

        cout<<theArray[x][y] <<" ";
}
cout<<endl;
}

Mon compilateur dit tableau est incomplet élément de type 'int[]'.
Quels sont les codes pour l'impression 2d tableaux?

  • Votre boucle est très bien, mais je pense que le problème ici est la nécessité de spécifier la taille de la colonne sur theArray
  • Vous pouvez inclure le prettyprinter et dire cout << theArray; 🙂
  • proche de la gare et de la lecture.
  • "La logique est que les tableaux ne sont pas des pointeurs. int theArray[] ne signifie pas que vous êtes le passage d'un tableau (que vous ne pouvez pas passer par valeur, de toute façon), mais un pointeur c'est un sucre syntaxique pour int* a plutôt amer et ancien sucre qui provient de C). int theArray[][], si elle est valable, serait la même que int (*theArray)[] (un pointeur vers un tableau). Le problème est, int[] est un type incomplète et que le compilateur ne sait pas ce que le pointeur se serait. Ainsi, vous devez spécifier la taille et lui indiquer qu'il doit pointer vers un tableau de trois entiers: int (*theArray)[3], de même que int[][3]" [écrit par jrok]
  • Votre réponse n'était pas mauvais, bien, pas besoin de le supprimer.
InformationsquelleAutor Fraukn | 2013-05-02