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 :

Exercice sur codage en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Par défaut Exercice sur codage en C
    Bonjour,

    Donc j'ai un exercice d'algo et de C, et je suis assez bidon dans ce domaine..

    Soient 2 entiers n1 et n2. On souhaite calculer la somme des nombres pairs compris entre n1 et n2, sans n1 et n2.

    Exemple : n1=5 et n2=8
    somme des nombres pairs = 6

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    1/ Donner l'algorithme et le programme C permettant de calculer cette somme
    2/ Modifier votre solution pour que ce programme calcule également la moyenne de ces nombres pairs.
    L'algo ayant été réalisé, j'ai besoin d'aide pour la retranscription en C, et pour la question par la suite ..

    J'ai effectué cela :
    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
    # include <stdio.h>
    # include <stdlib.h>
     
    int main( )
    {
    int n1, n2
    float i, S
    S=0
    i = n1+1
     
    printf ("\n saisissez le premier nombre : ")
    scanf ("%d, &n1)
    printf ("\n saisissez le second nombre : ")
    scanf ("%d, &n2)
    while (i<n2)
    {
    printf("\n i=i+1)
    i++
    }
    if (i%2=0)
    {
    printf("\n S=S+i)
     
    return 0
    On m'a dit que sa ne ressemble à rien, donc help

  2. #2
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    Alors déjà, il y a des tas de problème de "...

    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
    # include <stdio.h>
    # include <stdlib.h>
     
    int main(void)
    {
      int n1, n2
      float i, S
      S = 0
      i =  n1 + 1
     
      printf ("\n saisissez le premier nombre : ")
      scanf ("%d", &n1)
      printf ("\n saisissez le second nombre : ")
      scanf ("%d", &n2)
      while (i<n2)
      {
        printf("\n i=i+1")
        i++
      }
      if (i%2=0)
      {
        printf("\n S=S+i")
      } 
    return 0
    Avec ça déjà, ça "commencera" à marcher un peu mieux...

    EDIT : tu as oublié un { à la fin je crois aussi...
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  3. #3
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Citation Envoyé par Metalman Voir le message

    EDIT : tu as oublié un { à la fin je crois aussi...
    Et les ";" aussi....

  4. #4
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    lol... en effet...
    Le plus important m'a échappé

    Bref...
    Ton algo n'a pas l'air si mauvais... tu devrais peut être juste faire "S += i" en dehors du printf, et n'afficher que le résultat final, non ?

    EDIT :
    Aller, je suis gentil et de bonne humeur avec ma bêtise (pour avoir loupé les ; )

    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
    # include <stdio.h>
    # include <stdlib.h>
     
    int main(void)
    {
      int n1, n2;
      int i, S = 0;
     
      printf("saisissez le premier nombre : \n");
      scanf("%d", n1);
      i = n1 + 1;
      printf("saisissez le second nombre : \n");
      scanf("%d", n2);
      while (i < n2)
      {
        if (i % 2 == 0)
        {
          printf("%d est paire !\n", i);
          S += i;
        }
        printf("incrémentation de i\n");
        i++;
      }
     
      return 0;
    }
    Tu as aussi oublié que = sert à mettre une valeur dans une variable, et non pas comparer !

    42 EDIT passés plus ou moins en douceur... hrem

    Nième edit : j'avais même loupé que ton "if" était hors de la boucle... les apparences sont vraiment trompeuses hahaha !

    (N+1)Edit : n1 n'était pas alloué quand tu l'as incrémenté...
    Et pas besoin de donner l'adresse dans ce cas, car tu as des int directement !

    (N+2) : pas besoin de float non plus... tu restes dans des entiers naturels...

    (N+3) : vérifie les specs aussi !... tu as le coeur de l'algo... mais maintenant à toi de vérifier si n1 < n2 ou non...
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  5. #5
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    (N+4)Edit : Tu as oublié le "&" dans le scanf...

    (N+5)Edit : Tu as oublié d'afficher le résultat final...


  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Par défaut
    Bonjour,

    Merci de vos réponses, par contre il n'y a que 2 scanf, et les 2 possèdent le " & " donc je sais pas trop...

    Et puis le résultat est affiché à la fin car j'ai mit " return 0 "

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

Discussions similaires

  1. exercice sur les matrices
    Par massimo dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/03/2007, 17h20
  2. besoin d aide sur un exercice sur les pointeurs
    Par azumachakib69 dans le forum C
    Réponses: 3
    Dernier message: 28/12/2006, 01h16
  3. Exercice sur les tableaux
    Par IDE dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 06/11/2006, 19h33
  4. Besoin d'aide pour un exercice sur les registres
    Par zakuza dans le forum Assembleur
    Réponses: 5
    Dernier message: 14/04/2006, 14h23
  5. Réponses: 4
    Dernier message: 28/07/2005, 16h22

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