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 :

Resultat final un peu louche


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    visiteur
    Inscrit en
    Décembre 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : visiteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2019
    Messages : 21
    Points : 8
    Points
    8
    Par défaut Resultat final un peu louche
    Bonjour,

    Pouvez vous voir si il n'y a pas un problème dans mon code svp:
    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
    // calculer la somme de 1 à n de (1/k^2)
    #include <stdio.h>
     
    float carre(int n);
    float somme(int s);
     
    int main()
     {
       float n;
     
       printf("entrer un nombre : ");
       scanf("%g",&n);
     
       printf("la somme est de %g",somme(n));
     
      return 0;
    }
     
    float carre(int n)
    {
      return n*n;
    }
     
    float somme(int s)
    {
      int i,b,n;
      int somme=0;
     
      for(i=0;i<b;i++)
      {
        somme=somme+1/carre(n);
      }
     
    }
    à la compilation, ça me donne un chiffre avec des exposants pour n=2 et 3 normalement ça devrait être plus petit (à moin que je me trompe )
    merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    entre b non initialisé, carre qui prend un entier et somme qui ne retourne même pas quoi que ce soit, ce sont les lignes sans problèmes qu'il faut chercher.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    visiteur
    Inscrit en
    Décembre 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : visiteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2019
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Bousk Voir le message
    entre b non initialisé, carre qui prend un entier et somme qui ne retourne même pas quoi que ce soit, ce sont les lignes sans problèmes qu'il faut chercher.
    justement, pour la fonction carre je suis bloqué au niveau du return, pour le b, j'ai pas fais gaffe merci

  4. #4
    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,

    Elle n'est pas si mal cette fonction carre(), mais en lui passant une valeur non initialisée elle ne fera pas de miracles.

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Bonjour
    La fonction "carre()" est valable. Simplement en recevant un int, elle n'a pas foncièrement de quoi retourner un float mais c'est pas catastrophique, il y a alors cast implicite (et inutile évidemment).

    Le vrai souci c'est cette fonction "somme()" qui fait varier "i" sans l'utiliser de 0 à "b" non initialisé et qui appelle "carre()" en lui passant "n" lui aussi de valeur un peu floue ; tout en recevant un paramètre "s" qu'elle n'utilise même pas. C'est la fonction de l'aventure quoi...

    Citation Envoyé par Bousk Voir le message
    ce sont les lignes sans problèmes qu'il faut chercher.
    On en trouve (t'as le int main() qui est correct.)...

    Citation Envoyé par blue_42 Voir le message
    pour le b, j'ai pas fais gaffe
    T'as pas fait gaffe pour un paquet de trucs. Franchement, tu aurais pu faire un effort minimal de relecture avant de nous poster ce... truc !!!

    Citation Envoyé par blue_42 Voir le message
    à la compilation, ça me donne un chiffre avec des exposants pour n=2 et 3
    Question subsidiaire: as-tu les mêmes résultats quand tu lances ton programme plusieurs fois (en lui entrant le même nombre évidemment) ???
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    attention oui i,b,n ne sont pas initialisées et tu risque de faire une division par zéro.
    Donc il faut bien initialiser ces variables et tester si le dénominateur n'est pas nul

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CodeGear video competition final results
    Par Laurent Dardenne dans le forum EDI
    Réponses: 0
    Dernier message: 09/02/2008, 19h57
  2. je m'y perd un peu dans tous ces plugin
    Par Stessy dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 30/09/2003, 23h33
  3. RTL60 ( la jsuis un peu confused)
    Par magdoz dans le forum Outils
    Réponses: 7
    Dernier message: 23/07/2002, 11h20
  4. DirectX 6, un peu en retard ... :\
    Par multani dans le forum DirectX
    Réponses: 3
    Dernier message: 28/05/2002, 19h19

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