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 un programme


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Probleme avec un programme
    Bonjour je bloque sur un exercice en programmation en C voici l'enoncé:

    Pour calculer la racine carree d’un nombre a, il est possible
    d’utiliser l’algorithme de Heron d’Alexandrie. Cette methode est la suivante.
    Supposons que l’on cherche la racine x de a (x2 = a). Nous avons donc
    2x2 = x2 + a, on en deduit 2x = x + a/x . Et finalement, on trouve que x est
    solution de x = x/2 + a/2x . Nous pouvons donc construire la suite suivante :
    x0 = a
    xi+1 = xi/2 + a/2xi
    Ecrire une fonction prenant en parametre un reel a et un entier n, qui calcule
    et affiche les n premiers termes de la suite. On affichera egalement la racine
    carree de a a titre de comparaison (on utilisera pour cela la fonction sqrt de
    la bibliotheque math.h).

    Voici mon programme qui ne marche pas, je ne vois pas ou est mon erreur:

    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
     
    void Heron_Alex ( float a, int n); //Prototype de la fonction Heron_Alex
     
     
    int main()
    {
     
        int n = 0, compteur;
        float a = 0, racine = 0, c;
     
        printf("Racine carree d'un nombre par l'algorithme de Heron d'Alexandrie (exercice 1): \n\n\n");
        printf("Valeur de a:  ");
        scanf("%f", &a);
        printf("\n");
        printf("Valeur de n:  ");
        scanf("%d",& n);
        printf("\n\n");
     
        Heron_Alex(a,n);  //appel de la fonction Heron_Alex
        racine = sqrt(a);     //fonction sqrt(racine carree) présente dans math.h
        printf("la racine carre par la fonction sqrt vaut %lf\n", racine);
     
    return 0;
    }
     
    void Heron_Alex (float a, int n)  //fonction Heron_Alext
    {
        int compteur = 1;
        float c = 1;
     
        printf("Les %d premieres valeurs sont:\n",n);
     
        while (compteur <= n)
        {
            c = 1/2 * (c + a / c);
            printf("%f\n", c);
            compteur++;
        }
    }

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Avec un peut de malchance pour toi, comme 1/2 n'est pas forcé à float, cela risque d'être une division entière (dont je connais déjà le résult ==> 0).

    Essaye pour voir.

    Autre chose, j'utiliserai plutôt des double que des float (mais cela n'a rien à voir avec ton problème)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Probleme avec mon programme des 8 reines
    Par zuzu6969 dans le forum C++
    Réponses: 12
    Dernier message: 08/04/2010, 14h30
  2. probleme avec un programme en JS qui realise des calculs
    Par leclone dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/09/2006, 18h09
  3. [TP] Problème avec mon programme de conversion
    Par Panzer95 dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 28/05/2006, 18h36
  4. Debutant en JAVA, problème avec 1er programme
    Par Gymerus dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 07/09/2005, 12h10

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