Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
961 connectés 

  FORUM HardWare.fr
  Programmation
  C

  probleme de malloc ou de scanf ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme de malloc ou de scanf ?

n°1676499
game_over
Posté le 24-01-2008 à 22:03:50  profilanswer
 

Bonjour,
 
voici mon programme !
Pourquoi lorseque j attribue une valeur à NBCASESCOTE mon programme marche, mais il ne marche pas pas avec scanf ...
 
Y a t il une erreur ds mon programme ???
 
T est un tableau a NBCASESCOTE*NBCASESCOTE elements
PIECE une structure que j ai créé et tabPieces un tableau de PIECE NBCASESCOTE*NBCASESCOTE elements
matJeu et matReserve sont deux matrice a NBCASESCOTE*NBCASESCOTE elements
 
 

Code :
  1. int i,
  2. int NBCASESCOTE;
  3. PIECE *tabPieces;
  4. int **matJeu;
  5. int **matReserve;
  6. int *T;
  7. printf("entrer une valeur de NBCASECOTE !!! " );
  8. scanf("%d",&NBCASESCOTE);
  9. tabPieces=malloc((NBCASESCOTE*NBCASESCOTE)* sizeof(PIECE));
  10. T=malloc((NBCASESCOTE*NBCASESCOTE)* sizeof(int));
  11. matReserve=malloc(NBCASESCOTE *sizeof(int*));
  12. for (i = 0; i < NBCASESCOTE; i++)
  13. {
  14. matReserve[i] =malloc(NBCASESCOTE * sizeof(int));
  15. }
  16. matJeu=malloc(NBCASESCOTE * sizeof(int*));
  17. for (i = 0; i < NBCASESCOTE; i++)
  18. {
  19. matJeu[i] =  malloc(NBCASESCOTE * sizeof(int));
  20. }


 
 
 
MERCI d avance  
Cordialement,

mood
Publicité
Posté le 24-01-2008 à 22:03:50  profilanswer
 

n°1676513
game_over
Posté le 24-01-2008 à 22:26:36  profilanswer
 

svp c est urgent je doit rendre ce progrmma pr demain demain
 
MERCI Encore,

n°1676521
tpierron
Posté le 24-01-2008 à 22:32:36  profilanswer
 

Code :
  1. mais il ne marche pas pas avec scanf


Et c'est quoi exactement le problème ? À première vue le programme semble correct, bien que scanf soit un peu casse gueule à l'utilisation.
 
En mettant un :

Code :
  1. printf("NBCASESCOTE = %d\n", NBCASESCOTE);


 
Juste après ton scanf(), ça donne quoi ?


Message édité par tpierron le 24-01-2008 à 22:32:59
n°1676530
game_over
Posté le 24-01-2008 à 22:51:17  profilanswer
 

si j enleve le scanf de mon programme et que je mets par exple NBCASESCOTE=7 ou 6 ou 5 ca marche ...
 
avec un scanf mon prog démmare en me demandant d entrer une valeur a NBCASESCOTE, une fois le nombre entrer ca ne se lance pas !
 
J ai bien ajouté :
printf("NBCASESCOTE = %d\n", NBCASESCOTE);
 
Mais ca ne marche tjrs pas,  
Qu est ce qui differe si tu demandes d afficher nbcasecote ?

n°1676534
ptitchep
Posté le 24-01-2008 à 22:59:21  profilanswer
 

game_over a écrit :

si j enleve le scanf de mon programme et que je mets par exple NBCASESCOTE=7 ou 6 ou 5 ca marche ...
 
avec un scanf mon prog démmare en me demandant d entrer une valeur a NBCASESCOTE, une fois le nombre entrer ca ne se lance pas !
 
J ai bien ajouté :
printf("NBCASESCOTE = %d\n", NBCASESCOTE);
 
Mais ca ne marche tjrs pas,  
Qu est ce qui differe si tu demandes d afficher nbcasecote ?


C'est à dire "ça ne se lance pas"?
 
le printf t'indique juste si la valeur tapée a été correctement placée dans ta variable (ce qui devrait être le cas).


---------------
deluser --remove-home ptitchep
n°1676535
game_over
Posté le 24-01-2008 à 23:03:45  profilanswer
 

En faite c est pr un jeu que j ai programmé ETRNITY
 
qd je mets 6 ou 7, le jeu me genere bien un plateau de jeu a 7x7 elements ou 6x6,
par contre qd "ça ne se lance pas", ca me genere un point sur l ecran au lieu d un plateau de jeu !
 
j espere assez avoir était clair  
Merci encore pr ton aide

n°1676538
ptitchep
Posté le 24-01-2008 à 23:10:03  profilanswer
 

Utilise un debugger, arrête ton prog au moment de la création de tes tableaux et à partir de là, avance pas à pas en surveillant tes variables jusqu'à la création de ton plateau graphique. T'es sous quel OS?


---------------
deluser --remove-home ptitchep
n°1676555
game_over
Posté le 24-01-2008 à 23:56:20  profilanswer
 

Mon probleme est resolu,
 
J'avais mis mon alloc dynamique ds une fonction. et je faisai appel a la fonction apres la definition de T. C'est pour cela que ca marchait pour NBCASESCOTE=6 ou 5 car c'était à l'exterieur du main();
 
Vraiment désolé pr le derangement
Ton aide ma était tres utile, pr bien defnir ma fonction malloc();
 
Encore Merci ! :)

n°1676558
ptitchep
Posté le 25-01-2008 à 00:00:08  profilanswer
 

game_over a écrit :

svp c est urgent je doit rendre ce progrmma pr demain demain
 
MERCI Encore,


game_over a écrit :

Mon probleme est resolu,
 
J'avais mis mon alloc dynamique ds une fonction. et je faisai appel a la fonction apres la definition de T. C'est pour cela que ca marchait pour NBCASESCOTE=6 ou 5 car c'était à l'exterieur du main();
 
Vraiment désolé pr le derangement
Ton aide ma était tres utile, pr bien defnir ma fonction malloc();
 
Encore Merci ! :)


Bonne nuit et bon courage pour demain.
 
En tout cas ça devait être vachement pressé pour faire autant de fautes ;)


---------------
deluser --remove-home ptitchep

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  probleme de malloc ou de scanf ?

 

Sujets relatifs
[PHP] Problème avec exec() dont ret_val = -1Problème validation W3C: "there is no attribute "style""
[Script Shell] Problème pour exécuter des commandes[FPDF] Probléme affichage PDF sous IE
Player mp3 en flash problème help !Probleme de malloc sur un tableau de pointeur.
Problème d'affichage des caractèresun problème avec les sockets :(
[Résolu]Problème avec un menu défilant 
Plus de sujets relatifs à : probleme de malloc ou de scanf ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR