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 :

Passage d'arguments entre 2 fonctions


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Par défaut Passage d'arguments entre 2 fonctions
    Bonsoir à tous et à toutes! J'ai un petit problème lors d'un passage d'arguments entre deux fonctions...
    J'ai à la base un tableau de 6éléments que je trie par ordre décroissant. Ensuite, je souhaite trouver toutes les paires possibles pour effectuer des opérations dessus. Et c'est là que ça coince : je n'arrive pas à faire passer les résultats de mes opérations à ma fonction de tri... Resultat1,Resultat2,resultat3,resultat4 me donnent donc 0.


    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
    // Opérations effectuées
    int addition(int nombre1, int nombre2)
    {	
    	int resultat1=0;
    	 resultat1 = nombre1 + nombre2;
    	return 	nombre1 + nombre2;
     
    }
    int division(int nombre1, int nombre2)
    {
    	int resultat2=0;
    	 resultat2 = nombre1 / nombre2;
    	return resultat2	;
     
    }
    int multiplication(int nombre1, int nombre2)
    {
    	int resultat3=0;
    	resultat3 = nombre1 * nombre2;
    	return resultat3;
    }
    int soustraction(int nombre1, int nombre2)
    {
    	int resultat4=0;
    	resultat4 = nombre1 - nombre2;
     
    	return resultat4;
    }
    Fonction de tri :
    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
    // Fonction de tri par paires
    void triDesPaires(int tableau[],int nombre1,int nombre2)
    {
    	int i=0;
    	int k=1;
    	int resultat1=0,resultat2=0,resultat3=0,resultat4=0;
     
     
     
     
     
     
    	for (i=0; i<TAILLE_MAX-1; i++) 
    	{
    		for (k=0; k<TAILLE_MAX-i; k++) 
    		{
    					if (tableau[i] != tableau[i+k]) 
    					{
    						printf("paire : (%d,%d)\n",tableau[i],tableau[i+k]);
    						addition(tableau[i],tableau[i+k]);
    						printf("%d",nombre1+nombre2);
    						multiplication(tableau[i], tableau[i+k]);
    						printf("%d",nombre1*nombre2);
    						soustraction(tableau[i],tableau[i+k]);
    						printf("%d",nombre1-nombre2);
     
    						division(tableau[i],tableau[i+k]);
    						printf("%d",nombre1/nombre2);
     
     
    					}
    		}
    	}
    }
    En vous remerciant d'avance. Bonne soirée

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    Le passage des paramètres en C est fait par copie...

    Mais je ne suis pas bien sur de ce que fait la fonction de tri par paires et comment elle est appelée, néanmoins juste une petit correction :

    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
    // Fonction de tri par paires
    void triDesPaires(int tableau[],int nombre1,int nombre2)
    {
    	int i=0;
    	int k=1;
    	int resultat1=0,resultat2=0,resultat3=0,resultat4=0;
     
    	for (i=0; i<TAILLE_MAX-1; i++) 
    	{
    		for (k=0; k<TAILLE_MAX-i; k++) 
    		{
    					if (tableau[i] != tableau[i+k]) 
    					{
    						printf("paire : (%d,%d)\n",tableau[i],tableau[i+k]);
    						resultat1 = addition(tableau[i],tableau[i+k]);
    						printf("%d",resultat1);
    						resultat2 = multiplication(tableau[i], tableau[i+k]);
    						printf("%d",resultat2);
    						resultat3=soustraction(tableau[i],tableau[i+k]);
    						printf("%d",resultat3);
     
    						resultat4 = division(tableau[i],tableau[i+k]);
    						printf("%d",resultat4);
     
     
    					}
    		}
    	}
    }

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    Aussi chaque variable peut être nommer différement dans chaque fonction :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int division(int numerateur, int denominateur)
    {
      int res;
      res = numerateur/denominateur;
      return res;
    }
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int la_division = division(10,2);
    printf("%d",la_division);

    Ou alors "anonymement" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int division(int numerateur, int denominateur)
    {
    	return numerateur/denominateur;
     
    }
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("%d",division(10,2));

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Par défaut
    Merci beaucoup ça marche O.K ok c'est bon à savoir en ce qui concerne les variables.

Discussions similaires

  1. passage d'argument d'une fonction à une autre
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 23/11/2008, 21h09
  2. Passage d'argument dans une fonction d'une autre classe.
    Par lavince dans le forum Général Python
    Réponses: 5
    Dernier message: 13/09/2008, 22h16
  3. Passage d'arguments à travers une fonction
    Par win-pierre dans le forum C
    Réponses: 4
    Dernier message: 01/05/2008, 13h29
  4. passage d'argument dans une fonction
    Par wadcyr8_197 dans le forum C++
    Réponses: 5
    Dernier message: 20/07/2007, 09h41
  5. Passage de paramètres entre une fonction et une interface graphique
    Par ninja_3 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 29/05/2007, 11h37

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