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

 C Discussion :

Probleme avec les variables locales


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    3e
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : 3e
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Probleme avec les variables locales
    Bonjour, j'essaie de faire une fonction pour creer un tableau et de le remplir et puis une fonction qui calcule le min et son indice, apres je veux les appeler a partie du main et afficher le resultat, mais ca ne marche pas voici mon code :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
     
    #define MAX 500
     
    	int tab[MAX];
    	int i = 0;
    	int x;
     
     
    //Écrire ici la fonction "remplir" de remplissage (par saisies au clavier)
    // d'un tableau t de taille nb 
     
     
    void remplir(float *tab, int nb){
     
    	float val;
    	int i;
     
    	for(i=0; i<nb; i++){
     
    	    printf("tab[%d]=",i);
    	    scanf("%f", &val);
    	    tab[i]=val;
     
    	}
    }
     
     
    //Écrire ici la fonction "calcule_min" qui calcule et renvoie en 
    // résultat le minimum des éléments d'un tableau t de taille size. Un
    // paramètre supplémentaire permettra de ramener également l'indice 
    // dans le tableau de ce minimum
    // ... 
     
     
     
     
    void calcule_min(float *tab, int size, float *min, int *indicemin){
     
     
    		*min = tab[0];
    		*indicemin = 0 ; 
    		int i=1;
     
    		while(i<size)
    		{
    			if(tab[i]<*min)
    			{
     
    				*min=tab[i];
    				*indicemin = i; 
     
    			}
     
    			i++;
    		}
     
    }
     
     
    // Compléter la fonction main :
    int main(int nbArgs, char* arg[])
    {
     
        float *tab;
        int n, indicemin;
        float min;
     
     
    	printf("Donner la taille du tableau : \n");
    	scanf("%d", &n);
     
     
     
        // Remplissage du tableau :
     
        tab = (float*)malloc(n*sizeof(float));
     
        remplir(tab, n);
     
        // calcule de min
     
        calcule_min(tab,nbArgs,&min,&indicemin);
        printf("minimum : %f | son indice : %d \n",min,indicemin);
     
     
        return EXIT_SUCCESS;
    }

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    À quoi servent les lignes 10, 11 et 12 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int tab[MAX];
    int i = 0;
    int x;
    tab[] est déclaré localement dans main ();. Pourquoi vouloir aussi déclarer un tableau du même nom en global ? Idem pour i et x...

  3. #3
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Il y a en effet des lignes en trop surement dues à des évolutions.
    Mais surtout, il reste ligne 88 un second argument qui devrait être n à la place de nbArgs.
    Savoir se relire est une des choses les plus importantes en programmation.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    3e
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : 3e
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Bonjour.

    À quoi servent les lignes 10, 11 et 12 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int tab[MAX];
    int i = 0;
    int x;
    tab[] est déclaré localement dans main ();. Pourquoi vouloir aussi déclarer un tableau du même nom en global ? Idem pour i et x...

    Ok mais ça devrait pas poser pb le pb c’est dans les vars locales je perds leurs valeurs en appelans la fonction calcule_min

  5. #5
    Membre expérimenté Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 625
    Points : 1 559
    Points
    1 559
    Par défaut
    Hello,

    Ce que veut dire dalfab, c'est que ligne 88, le second argument de l'appel à la fonction doit être le nombre d'éléments du tableau, c'est à dire n. nbArgs quant à lui est le nombre d'arguments passés au programme.
    On écrit "J'ai tort" ; "tord" est la conjugaison du verbre "tordre" à la 3ème personne de l'indicatif présent

  6. #6
    Futur Membre du Club
    Homme Profil pro
    3e
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : 3e
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par dalfab Voir le message
    Bonjour,

    Il y a en effet des lignes en trop surement dues à des évolutions.
    Mais surtout, il reste ligne 88 un second argument qui devrait être n à la place de nbArgs.
    Savoir se relire est une des choses les plus importantes en programmation.
    j'etais sur mon tel il m'affichait pas la bonne ligne... sinon c'est bon maintenant merci pour votre réponse!

Discussions similaires

  1. Probleme avec les variables d'environnement
    Par top_eagle dans le forum Windows XP
    Réponses: 1
    Dernier message: 26/01/2009, 15h13
  2. Probleme avec les variables d'environnement
    Par top_eagle dans le forum Administration système
    Réponses: 3
    Dernier message: 26/01/2009, 15h10
  3. [PHP-JS] probleme avec les variable dans javascript
    Par aminobobo dans le forum Langage
    Réponses: 3
    Dernier message: 22/07/2008, 12h02
  4. Probleme avec les variables du Settings
    Par Lafab dans le forum C#
    Réponses: 4
    Dernier message: 29/06/2007, 14h16
  5. Probleme avec les variables de session en ASP
    Par alhc2666 dans le forum ASP
    Réponses: 1
    Dernier message: 07/03/2006, 16h19

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