Accueil > Forum > > > > passage en paramètre d'un tableau
passage en paramètre d'un tableau
vendredi 10 avril 2009 à 18:20:52 |
passage en paramètre d'un tableau

misterbobo
|
Bonjour, j'ai à programmer la fonction nouvelle génération d'un jeu de la vie dont les paramètres en entrés sont imposés. Je pense être arrivé à quelque chose d'assez correct mais je ne comprend pas pourquoi il ne peut pas compiler "Grille [i][j]". J'ai été voir les tutoriels, je ne vois pas mon erreur et je ne peux pas utiliser de pointeur sur Grille (imposé par l'énoncé). Merci de m'aider.
void JeuDeLaVie(unsigned char Grille[][], unsigned short int Dim, unsigned short int NbEtats){ int i, j, k, compteur, boucle; for (boucle=0; boucle<NbEtats; boucle++) { for (i=0;i<Dim+1;i++){ for (j=0;j<Dim+1;j++){ if (Grille[i][j] == '*'){ compteur = 0; for (k=i-1;i<i+2;k++){ if (Grille[k][j] == '*'){ compteur = compteur +1; } } for (k=j-1;j<j+2;k++){ if (Grille[i][k] == '*'){ compteur = compteur +1; } } if ((compteur -1 > 3) || (compteur -1 < 2)) { Grille[i][j] = ' '; } if (compteur -1 == 3) { Grille[i][j] = '*'; } } if (Grille[i][j] == ' '){ compteur = 0; for (k=i-1;i<i+2;k++){ if (Grille[k][j] == '*'){ compteur = compteur +1; } } for (k=j-1;j<j+2;k++){ if (Grille[i][k] == '*'){ compteur = compteur +1; } } if (compteur =! 3){ Grille[i][j] = ' '; } if ((compteur == 3) || (compteur = 3)) { Grille[i][j] = '*'; } } } } } system("PAUSE"); }
|
|
vendredi 10 avril 2009 à 19:45:22 |
Re : passage en paramètre d'un tableau

CptPingu
|
Plusieurs erreurs:
> Unsigned char Grille[][] Impossible, tu ne peux pas passer un tableau statique à double dimension, sans préciser au moins la deuxième dimension. En revanche, tu as le droit d'écrire: Unsigned char** Grille.
A noter que "Unsigned char** Grille" n'est pas tout à fait équivalent à "Unsigned char Grille[][]".
> for (i = 0; i < Dim + 1; i++) Ca me semble étrange, mais n'ayant pas le reste du code, je ne sais pas si c'est correcte ou non.
> for (k = i - 1; i < i + 2; k++) Ca c'est "space". Sachant que K commence à -1, alors cette condition sera toujours vraie, donc boucle infinie. i < i + 2, peut être simplifié en : 0 < 2. Surtout que i n'est jamais modifié...
Aprend à découper ton code en petites fonctions, tout faire d'une seule traite, c'est moche, inmaintenable, et conduis souvent à des erreurs. Quant au placement des accolades, je ne suis pas fan, mais ça c'est un choix tout à fait personnel.
|
|
vendredi 10 avril 2009 à 20:10:20 |
Re : passage en paramètre d'un tableau

misterbobo
|
Merci de ta reponse, justement j'aimerais pouvoir utiliser **Grille mais l'énoncé donne la premiere ligne : « void JeuDeLaVie(unsigned char Grille[][], unsigned short int Dim, unsigned short int NbEtats) ».
Merci également d'avoir regarder le reste du programme en effet il y avait des boucles infinies suite à un mauvais copier-coller (k=i-1,k<i+2,k++) ... je precise que je ne m'occupe pas des limites de la grille pour l'instant.
|
|
samedi 11 avril 2009 à 00:50:27 |
Re : passage en paramètre d'un tableau

CptPingu
|
void JeuDeLaVie(unsigned char Grille[][]) { }
int main(void) { return 0; }
Compiler avec: gcc -W -Wall -ansi -pedantic test.c est.c:1: erreur: les éléments du tableau sont de type incomplet test.c:1: attention : unused parameter 'Grille'
L'énoncé, doit être erroné, ce n'est juste pas possible.
|
|
Cette discussion est classée dans : grille, compteur, for, unsigned, if
Répondre à ce message
Sujets en rapport avec ce message
algorithmique de fonction rec [ par fs_fck_sarko ]
bonjour tout le monde, est ce que quelquun pourai maider pour le calul de complexite d'un programme qui resout les sudoku ? En fait je voudrais trouve
Problème en tête bitmap [ par piroman14 ]
Slt tt le monde!Je rencontre un petit problème dans mon algorithme. En effet, je n'arrive pas à coder l'en-tête d'une image bitmap correctement. J'obt
projet bataille navale problème!!! [ par krimoluv ]
Bonsoir à tous,voila j'ai mon projet bataille navalle qui approche les 1900 lignes. Malheuresement je n'ai pas eu le resultat esconté car en compilant
triangularisat [ par desco182 ]
Salut a quiconque sur le forum qui aimerait porter des corrections svp#include#include#include#include#define max 10float A[max][max], B[max],
Problème compréhension du programme le compte est bon [ par echec ]
Bonjour,Je cherchai un programme c++ sur internet qui permettait de calculer la solution du jeu le compte est bon, j'en est finalement trouvé un, mais
Probleme : Sudoku en C [ par seth59222 ]
Bonsoir, voila je suis actuellement en première année d'info, donc assez novice et je viens de créer ce petit bout de programme en C qui consiste a ré
ce code ne marche pas?????????? [ par banak3181 ]
s'il vous plait les gars je veux que quelqu'un me disent pourquoi ce code ne marche sur dev C++:#include #include #include #include # include<myconio.
acceder aux éléments d' un unsigned char ** [ par ththththth ]
Bonjour à tous !!!J'ai un petit probleme pour acceder aux éléments d'un unsigned char**.Un pti bout de code sera plus simple...unsigned char **t = (un
Projet C Jeu d'echec [ par Hugo Dam ]
Bonsoir, Je code actuellement un jeu d'echec. Celui ci compile bien mais lors de l'execution il m'affiche erreur de segmentation des lors que je fais
retourner un tableau d'une fonction [ par momojamal ]
Bonjour,je voudrais récupérer le tableau d'une fonction ici tab[5][5] afin de l'utiliser dans une autre fonction ainsi l'afficher.comment puis je fair
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|