passer un tableau de type à 2 dimensions en paramètre ? comment faire

passer un tableau de type à 2 dimensions en paramètre ? comment faire - C++ - Programmation

Marsh Posté le 04-12-2003 à 23:07:38    

#include <iostream.h>
#include <stdlib.h>
#include <time.h>
 
 
#define nbl 20
#define nbc 20
 
typedef struct  
{
 int show;
 char hide;
}tab;
 
typedef tab grille[nbl][nbc];
 
 
void remplir(tab grid[nbl][nbc])
{
 srand( (unsigned)time( NULL ) );
 
 for(int i=0;i<nbl;i++)
 {
  for(int j=0;j<nbc;j++)
  {
   
   grid[i][j].show=rand()%2;
   grid[i][j].hide='*';
  }
 }
}
 
void afficher(tab grid[nbl][nbc])
{
 for(int i=0;i<nbl;i++)
 {
  for(int j=0;j<nbc;j++)
  {
   
   cout<<grid[i][j].show<<" ";
  }
  cout<<endl;
 }
}
 
void main()
{
 remplir(grille);
 afficher(grille);
}
 
 
-----------------------------------------------------
voila le compilateur plante en me disant que le tableau grille ne se passe pas de cette manière dans le void main .....
 
vous avez une idée ?

Reply

Marsh Posté le 04-12-2003 à 23:07:38   

Reply

Marsh Posté le 04-12-2003 à 23:35:54    

oh du C
 
int main()
<iostream>
<cstdlib>
<ctime>
 
etc
 
 
fait une recherche et t'auras ta réponse

Reply

Marsh Posté le 04-12-2003 à 23:37:47    

Premièrement, si tu fais vraiment du C++, alors oublie le typedef pour les struct. Ce n'est pas utile en C++. Ensuite, on evite les #define, surtout pour definir des constantes. "const int nbl = 20;" marche bien. Et pour finir, grille est defini comme étant un type, pas une variable. Bien sur que tu ne peux pas faire remplir(grille) comme ça !


Message édité par Kristoph le 04-12-2003 à 23:38:04
Reply

Marsh Posté le 05-12-2003 à 10:30:28    

oui jai compris merci ....
j'ai confondu le type et le tableau ....
scusez moi ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed