IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèque standard C Discussion :

Probleme de scanf ou de malloc ?


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut Probleme de scanf ou de malloc ?
    Bonjour,

    Je dispose d'une matrice sur laquelle j'effectue une allocation dynamique de la memoire
    , cette matrice a une dimension NBCASESCOTE X NBCASESCOTE !

    Pourquoi lorseque j'effectue un scanf sur NBCASESCOTE ca ne marche pas ? alors que ca marche si je change sa valeur sur le .C

    Comment faire alors pr demander a l utilisateur d attribuer une valeur a NBCASESCOTE ?

    Merci de votre aide

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    int **matriceReserve;
    int i;
     
    matReserve=(int**)malloc(NBCASESCOTE *sizeof(int)); 
     
    	for (i = 0; i < NBCASESCOTE; i++)
    	{
    	matReserve[i] = (int*) malloc(NBCASESCOTE * sizeof(float));
    	}

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int **matriceReserve;
    int i;
    matReserve=(int**)malloc(NBCASESCOTE *sizeof(int)); 
     
    	for (i = 0; i < NBCASESCOTE; i++)
    	{
    	matReserve[i] = (int*) malloc(NBCASESCOTE * sizeof(float));
    	}
    des anomalies dans ton code. On attend quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int **matriceReserve;
    int i;
    matReserve=malloc(NBCASESCOTE *sizeof(int*)); 
    	
    	for (i = 0; i < NBCASESCOTE; i++)
    	{
    	matReserve[i] = malloc(NBCASESCOTE * sizeof(int));
    	}
    Maintenant, tu ne montres pas le code avec lequel tu essayes d'attribuer une valeur à NBCASESCOTE ni sa définition, alors il est difficile de te répondre.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut
    y a t il des anomalie ici alors ?

    PIECE est une structure que j ai cré !

    Merci d avance,

    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
     
    	printf("entrer une valeur de NBCASECOTE !!! ");
    	scanf("%d",&NBCASESCOTE);
     
    	tabPieces=malloc((NBCASESCOTE*NBCASESCOTE)* sizeof(PIECE));
     
    	T=(int*)malloc((NBCASESCOTE*NBCASESCOTE)* sizeof(int));
     
     
    	matReserve=(int**)malloc(NBCASESCOTE *sizeof(int)); 
     
    	for (i = 0; i < NBCASESCOTE; i++)
    	{
    	matReserve[i] = (int*) malloc(NBCASESCOTE * sizeof(float));
    	}
     
     
    	matJeu=(int**)malloc(NBCASESCOTE * sizeof(int)); 
     
    	for (i = 0; i < NBCASESCOTE; i++)
    	{
    	matJeu[i] = (int*) malloc(NBCASESCOTE * sizeof(float));
    	}

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut
    petite rectification :

    T est un tableau a NB*NB element
    PIECE une structure que j ai créé
    matjeu et matreserve deux matrice a Nb*NB element

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Il faut nous montrer la definition de nombrecasecote. Si tu l' as defini comme une constante, alors c' est clair que ça ne marche pas

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Par défaut
    int NBCASESCOTE;

    en variable globale ...

Discussions similaires

  1. problem avec scanf
    Par yous18 dans le forum Débuter
    Réponses: 5
    Dernier message: 14/09/2007, 03h24
  2. Probleme avec scanf
    Par LinuxUser dans le forum C
    Réponses: 3
    Dernier message: 17/05/2007, 14h18
  3. probleme de scanf
    Par ralf91 dans le forum C
    Réponses: 10
    Dernier message: 20/04/2007, 13h19
  4. Probleme Avec Scanf Et Gets !
    Par A_B dans le forum C
    Réponses: 11
    Dernier message: 09/03/2007, 21h20
  5. Probleme d'allocation avec un malloc
    Par theshark85 dans le forum C
    Réponses: 11
    Dernier message: 25/04/2006, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo