Valeurs positives ou négatives

Résolu
TheRogerFederer Messages postés 256 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 10 mars 2016 - Modifié par cptpingu le 16/09/2015 à 18:04
TheRogerFederer Messages postés 256 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 10 mars 2016 - 17 sept. 2015 à 00:08
Bonjour, j'ai comme énoncé cette exercice mais quand je l'exécute ca ne marche pas............., le but étant de compter le nombres de valeurs négatives et positives voici l'énoncé :


programme valeurs
positif, nb, valeur : numérique
debut
positif ß 0
pour nb de 1 à 20
afficher "entrer un nombre = "
saisir valeur
si valeur >= 0 alors
positif ß positif + 1
finsi
finpour
afficher "nombre de valeurs positives = " + positif
afficher "nombre de valeurs négatives = " + (20 - positif)
fin


et moi j'ai codé cela :

// -- bibliothèques nécessaires --
#include <stdio.h>
#include <conio.h>

// -- programme principal --
int main () {
 
 // déclarations
 float positif = 0 ;
 float nbre = 1 ;
 float valeur ;
 
 // saisie des valeurs
 while(nbre <= 20) {
  printf(" Entrer un nombre = ") ;
  scanf("%f",&valeur) ;
  if (valeur >= 0) {
   positif++ ;
  }
  }
 printf(" Nombre de valeurs positives = ", positif) ;
 printf(" Nombre de valeurs négatives = ",(20 - positif)) ;
 
 getch () ;
 return 0 ;
}


J'espère que vous pourrez m'aider !!

4 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
16 sept. 2015 à 18:11
Bonjour.

Pense à mettre les balises de code. Je te les ai ajouté sur tes deux posts, mais la prochaine fois: pas de balise == pas de réponse.

Ton erreur vient du fait que tu n'incrémentes jamais nbre dans ta boucle, donc tu restes coincé infiniement.
Quelques remarques:
  • Pas de conio.h
  • Utilise des int, si tu n'as pas besoin de valeurs décimales.
  • Pas besoin d'accolades, s'il n'y a qu'une seule instruction dans une structure de controle (if, while, for, etc...).
  • N'oublie pas les "\n" à la fin des printfs, les sauts de lignes ne sont pas automatiques.


#include <stdio.h>

int main()
{
  double valeur = 0;
  int positif = 0;
  int nbre = 0;

  while (nbre < 20)
  {
    printf("Entrez un nombre: ");
    scanf("%lf", &valeur);
    if (valeur >= 0)
      positif++;
    nbre++;
  }

  printf("Nombre de valeurs positives = %i\n", positif);
  printf("Nombre de valeurs négatives = %i\n", (nbre - positif));

  return 0;
}

0
Rejoignez-nous