Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide fonction

    23 juin 2017 à 0:17:13

    Bonjour ! 

    Mon problème n'est pas simple à expliquer mais je vais essayer.

    Je viens il y a peu de commencer à apprendre le langage C, je suis au chapitre sur les tableaux, plus précisément à l'exercice : 

    Créez une fonctionsommeTableauqui renvoie la somme des valeurs contenues dans le tableau (utilisez unreturnpour renvoyer la valeur). Pour vous aider, voici le prototype de la fonction à créer : 

    int sommeTableau(int tableau[], int tailleTableau);

     je m'excuse si ce sujet à déjà été traité j'ai pourtant regarder avant.

    Cet exercice m'a fait réalisé que je n'avais pas tout compris avec les fonctions, je me doute qu'il va sûrement falloir utiliser une boucle for de type : for(i=0, i < tailleTableau, i++)

    Mais je me trompe sûrement mais même si je ne me trompe pas je ne sais pas quoi faire après je pense pouvoir trouver un moyen de bel et bien additionner toutes les valeurs du tableau mais c'est surtout avec le return que j'ai du mal.

    Si quelqu'un peut me montrer une solution cela m'aiderait vraiment ! 

    Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      23 juin 2017 à 11:39:10

      TovenMiraud a écrit:

      Cet exercice m'a fait réalisé que je n'avais pas tout compris avec les fonctions, je me doute qu'il va sûrement falloir utiliser une boucle for de type : for(i=0, i < tailleTableau, i++)

      Mais je me trompe sûrement mais même si je ne me trompe pas je ne sais pas quoi faire après je pense pouvoir trouver un moyen de bel et bien additionner toutes les valeurs du tableau mais c'est surtout avec le return que j'ai du mal.

      Oui, il faut faire une boucle, exactement comme le montre la fonction affiche du tutoriel. Mais les boucles n'ont rien à voir avec les fonctions.

      Ce qui a tout à voir avec les fonctions, c'est bien l'instruction return.

      Pour ce qui est de la solution, voici la matrice :

      int sommeTableau(int tableau[], int taille) {
         int somme = 0;
      
         // faire les calculs nécessaires
      
         return somme;
      }
      
      int main() {
         int t[] = { 1, 2, -3, 0, 1 };
      
         printf("somme = %d\n", sommeTableau(tableau, 5));
         return 0;
      }


      Comme tu vois, le 2e argument de printf est sommeTableau(tableau, 5). Il s'agit d'une expression (d'appel de fonction), qui a une valeur (de type int). Cette valeur vient du return.

      -
      Edité par Marc Mongenet 23 juin 2017 à 11:41:07

      • Partager sur Facebook
      • Partager sur Twitter
        23 juin 2017 à 11:40:13

        Perso, j'ai trouvé ceci

        //retourne la somme du premier et du dernier élément.
        
        int fonction(int tab[],int taille)
        {
         int val=tab[taille-1]+tab[0]
         return val;
        }

        C'est aussi simple que ça pour retourner un entier ;)

        • Partager sur Facebook
        • Partager sur Twitter

        Aide fonction

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown