Programme C
mery
-
jason-live Messages postés 178 Date d'inscription Statut Membre Dernière intervention -
jason-live Messages postés 178 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
svp je suis débutante en programmation en langage C et j'ai besoin de votre aide pour résoudre ce problème:
Ecrire un programme qui affiche la moyenne d'une suite d'entiers positifs entrés au clavier.
On arrêtera la saisie quand le nombre -1 est entré, comme dans l'exemple suivant :
Entrez un entier positif : 5
Entrez un entier positif : 2
Entrez un entier positif : 3
Entrez un entier positif : -1
La moyenne de ces 3 entiers vaut 3.333333
Merci à vous
svp je suis débutante en programmation en langage C et j'ai besoin de votre aide pour résoudre ce problème:
Ecrire un programme qui affiche la moyenne d'une suite d'entiers positifs entrés au clavier.
On arrêtera la saisie quand le nombre -1 est entré, comme dans l'exemple suivant :
Entrez un entier positif : 5
Entrez un entier positif : 2
Entrez un entier positif : 3
Entrez un entier positif : -1
La moyenne de ces 3 entiers vaut 3.333333
Merci à vous
A voir également:
- Écrire un programme qui saisit des entiers positifs. le programme s'arrête dès qu'un entier négatif est saisi. il affiche alors le nombre d'entiers positifs qui ont été saisis.
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Comment fermer un programme qui ne répond pas - Guide
- Desinstaller un programme - Guide
- Message programmé iphone - Guide
24 réponses
Comme d'hab, pourquoi tu mettrais pas ce que tu as déjà commencé à écrire? Ensuite des gens t'aiguilleront peut-être selon tes erreurs.
Programme en C++ :
#include "stdafx.h"
# include <iostream>
using namespace std;
int main()
{
int i,cumul,moy;
cumul=0;
float=0;
cout<<"entrer un chiffre (chiffre négatif pour terminer la saisie) :"<<endl;
cin>>i;
while(i>=0)
{
moy+=i;
cumul++;
cout<<"entrer un chiffre (chiffre négatif pour terminer la saisie) :"<<endl;
cin>>i;
}
cout<<moy%cumul<<endl;
return 0;
}
voilà voilà si ça marche pas tiens moi au courant avec l'erreur que ça retourne.
Bonne soirée.
#include "stdafx.h"
# include <iostream>
using namespace std;
int main()
{
int i,cumul,moy;
cumul=0;
float=0;
cout<<"entrer un chiffre (chiffre négatif pour terminer la saisie) :"<<endl;
cin>>i;
while(i>=0)
{
moy+=i;
cumul++;
cout<<"entrer un chiffre (chiffre négatif pour terminer la saisie) :"<<endl;
cin>>i;
}
cout<<moy%cumul<<endl;
return 0;
}
voilà voilà si ça marche pas tiens moi au courant avec l'erreur que ça retourne.
Bonne soirée.
il lui faut un programme en c et pas en c++
mais je vais lui faire et l'aider ensuite car je débute aussi et j'aime bien le C <3
a toute suite ;)
mais je vais lui faire et l'aider ensuite car je débute aussi et j'aime bien le C <3
a toute suite ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Avec un while !!! comme c'est fait dans mon programme ..
essaie plutot d'intepreter mon programme en C .. tu te casseras moins la tête :)
essaie plutot d'intepreter mon programme en C .. tu te casseras moins la tête :)
ouai mais je ne comprend pas ton programme en c++ j'en ai jamais fais et je comprend jamais rien
le mieu c'est qu'on me donne la reponse et comme ça, comme je me connais je regarderais le code pour mieu comprendre et je referais des exercices de ce genre ;)
je veux reussir je vous assure ;)
le mieu c'est qu'on me donne la reponse et comme ça, comme je me connais je regarderais le code pour mieu comprendre et je referais des exercices de ce genre ;)
je veux reussir je vous assure ;)
nan nan j'ai lus un bout de lecon et j'ai compris mais c'est super chaud
le c je comprend très bien ;)
le c je comprend très bien ;)
Non mais on peut comprends , mais l'algo est la partie logique du programme , ca décrit comment va evoluer ton programme. C'est le squelette de ton programme. Si tu ne sais pas faire d'algo aucun de tes programmes ne marchera.
ouais l'algo c'est la partie logique du programme
mais des fois je suis bloquer en C et si tu veux quand je suis bloquer je visualise le programme dans ma tête une sorte d'algo aussi et je reussi mais stp si tu connais le bon code en C du programme qu'on veut faire donne le nous et je l'étudierais car je suis trop curieux de savoir comment ... arrive t-on a mettre -1 pour ARRETER le programme...
mais des fois je suis bloquer en C et si tu veux quand je suis bloquer je visualise le programme dans ma tête une sorte d'algo aussi et je reussi mais stp si tu connais le bon code en C du programme qu'on veut faire donne le nous et je l'étudierais car je suis trop curieux de savoir comment ... arrive t-on a mettre -1 pour ARRETER le programme...
Bah je ne connais pas du tout la syntaxe en C .. Pour arrête ton programme la saisie de -1 doit être une condition d'arrêt.
En C++ il faut dire : " Tant que le chiffre saisie n'est pas -1 faire ...... "
Mais je ne sais pas si en C c'est pareil et niveau syntaxe je ne saurai vraiment pas t'aider.
En C++ il faut dire : " Tant que le chiffre saisie n'est pas -1 faire ...... "
Mais je ne sais pas si en C c'est pareil et niveau syntaxe je ne saurai vraiment pas t'aider.
Salut,
Un exemple
Un exemple
lami20j@debian:~$ cat a.c #include <stdio.h> int main() { int n,somme,i; i=somme=0; do{ printf("Entrez un entier positif : "); scanf("%d",&n); if(n>=0){ somme+=n; ++i; } }while(n>=0); printf("La moyenne de %d entiers vaut %f\n",i,(float)somme/i); return 0; } lami20j@debian:~$ gcc a.c lami20j@debian:~$ ./a.out Entrez un entier positif : 5 Entrez un entier positif : 2 Entrez un entier positif : 3 Entrez un entier positif : -1 La moyenne de 3 entiers vaut 3.333333
Ah ah ah c'est vraiment different le C et le C++ , ça a l'air vraiment hard la syntaxe du C ><
Re,
Voici la traduction du message C++ en C
lami20j@debian:~$ cat b.c
Voici la traduction du message C++ en C
lami20j@debian:~$ cat b.c
#include<stdio.h> int main() { int i,cumul,moy; cumul=0; i=0; moy=0; printf("entrer un chiffre (chiffre négatif pour terminer la saisie) : "); scanf("%d",&i); while(i>=0){ moy+=i; cumul++; printf("entrer un chiffre (chiffre négatif pour terminer la saisie) : "); scanf("%d",&i); } printf("%f\n",(float)moy/cumul); return 0; } lami20j@debian:~$ gcc b.c lami20j@debian:~$ ./a.out entrer un chiffre (chiffre négatif pour terminer la saisie) : 5 entrer un chiffre (chiffre négatif pour terminer la saisie) : 2 entrer un chiffre (chiffre négatif pour terminer la saisie) : 3 entrer un chiffre (chiffre négatif pour terminer la saisie) : -1 3.333333
j'aurais voulu faire comme ça mais ça pas l'air de marcher :(
#include <stdio.h> #include <stdlib.h> int main() { long nombre1, nombre2, nombre3, resultat = 0; long nombreATaperPourArreter = -1; printf ("Entrez un entier positif \n"); scanf("%d",&nombre1); printf ("Entrez un entier positif \n"); scanf("%d", &nombre2); printf ("Entrez un entier positif \n"); scanf("%d", &nombre3); resultat = (nombre1+nombre2+nombre3) / 3; printf ("La moyenne de ces 3 nombres est de %d \n", resultat); while (nombreATaperPourArreter != -1) { scanf ("%d", &nombreATaperPourArreter); printf("fin du programme \n"); } system("pause"); }
merci les amis, mais stp janson-live, le programme que tu m'as donné , c'est vrai qu'il me permet d'ecrire une suite d'entiers, mais je voudrais savoir:
* si je veux ecrire 100 entiers :p est ce que je dois ecrire 100 fois :
printf ("entrer un entier positif \n");
scanf ("%d",&nombre ...)
* aussi la moyenne que tu as déclaré en bas ne s'affiche pas sur le programme :(
svp les amis si je dis n'importe quoi c'est par ce que je suis débutante et je veux de l'aide :)
merci
* si je veux ecrire 100 entiers :p est ce que je dois ecrire 100 fois :
printf ("entrer un entier positif \n");
scanf ("%d",&nombre ...)
* aussi la moyenne que tu as déclaré en bas ne s'affiche pas sur le programme :(
svp les amis si je dis n'importe quoi c'est par ce que je suis débutante et je veux de l'aide :)
merci
https://forums.commentcamarche.net/forum/affich-15086035-programme-c#13
Tu n'as pas besoin de faire de nombreux printf. A l'aide d'une boucle, on continue à faire rentrer des nombres à l'utilisateur, tant que ce nombre n'est pas négatif. (pour coller plus à ton exercice à savoir entrer -1 pour arrêter, la fin de la boucle aurait du être
Tu n'as pas besoin de faire de nombreux printf. A l'aide d'une boucle, on continue à faire rentrer des nombres à l'utilisateur, tant que ce nombre n'est pas négatif. (pour coller plus à ton exercice à savoir entrer -1 pour arrêter, la fin de la boucle aurait du être
} while (n != -1);je suppose.
int main() { int n,somme,i; i=somme=0; // boucle qui dure tant que le nombre entré est supérieur à 0 do{ printf("Entrez un entier positif : "); scanf("%d",&n); if(n>=0){ somme+=n; //on ajoute le nombre entré (n) à la somme ++i; } }while(n>=0); printf("La moyenne de %d entiers vaut %f\n",i,(float)somme/i); return 0; }
Salut,
Regarde ici https://forums.commentcamarche.net/forum/affich-15086035-programme-c#13
Tu peux écrire jusqu'à la semaine prochaine des entiers positifs. Il suffit de taper un entier négatif pour que le programme s'arrête
Regarde ici https://forums.commentcamarche.net/forum/affich-15086035-programme-c#13
Tu peux écrire jusqu'à la semaine prochaine des entiers positifs. Il suffit de taper un entier négatif pour que le programme s'arrête
ba je débute aussi mais je suis à fond dans le C mais au début ^^
mais mon programme que j'ai donné même si on entre -1 le programme ne s'arrête pas stp aidez moi je voudrais savoir pourquoi ????
et mery je ne peux pas répondre à ta question si tu peux écrire 100 fois un entier positif... car je débute comme toi ;)
mais mon programme que j'ai donné même si on entre -1 le programme ne s'arrête pas stp aidez moi je voudrais savoir pourquoi ????
et mery je ne peux pas répondre à ta question si tu peux écrire 100 fois un entier positif... car je débute comme toi ;)
Re,
Avant de commencer écrire du code, réfléchi à ton algorithme, partie très importante.
Donc l'idée est de saisir des nombres entiers positifs et des qu'on saisi un entier négatif le programme doit s'arrêter.
Soit tu fait en dur comme tu as essayé en déclarant 3 variables nombres et une variable pour sortir.
Mais en ce cas ton programme sera limité à seulement 3 nombres entiers positifs.
Soit tu fait une boucle en calculant la somme des nombres saisis et en même temps tu comptes les nombre.
Pour la boucle tu mets la condition d'arrêt, un nombre entier négatif.
Quand tu sors de la boucle tu as deux valeur : la somme et le nombre des entiers positifs.
Il te restera à calculer la moyenne.
Avant de commencer écrire du code, réfléchi à ton algorithme, partie très importante.
Donc l'idée est de saisir des nombres entiers positifs et des qu'on saisi un entier négatif le programme doit s'arrêter.
Soit tu fait en dur comme tu as essayé en déclarant 3 variables nombres et une variable pour sortir.
Mais en ce cas ton programme sera limité à seulement 3 nombres entiers positifs.
Soit tu fait une boucle en calculant la somme des nombres saisis et en même temps tu comptes les nombre.
Pour la boucle tu mets la condition d'arrêt, un nombre entier négatif.
Quand tu sors de la boucle tu as deux valeur : la somme et le nombre des entiers positifs.
Il te restera à calculer la moyenne.
je comprend pas regardez SVP !
Faut-il que je mette un WHILE, DO WHILE, IF ... ???
aidez moi
#include <stdio.h> #include <stdlib.h> int main() { long nombre1, nombre2, nombre3, resultat = 0; long nombreATaperPourArreter = 0; if (nombreATaperPourArreter == -1) { scanf ("%d", nombreATaperPourArreter); printf ("FIN du programme \n"); } printf ("Entrez un entier positif \n"); scanf("%d",&nombre1); printf ("Entrez un entier positif \n"); scanf("%d", &nombre2); printf ("Entrez un entier positif \n"); scanf("%d", &nombre3); resultat = (nombre1+nombre2+nombre3) / 3; printf ("La moyenne de ces 3 nombres est de %d \n", resultat); system("pause"); }
Faut-il que je mette un WHILE, DO WHILE, IF ... ???
aidez moi
ba si dans le scanf ("%d", &nombreATaperpourArreter);
si je tappe 1 il devrait s'arreter mais ne s'arrete pas =(
et si j'ai lu mais j'ai rien compris :(
si je tappe 1 il devrait s'arreter mais ne s'arrete pas =(
et si j'ai lu mais j'ai rien compris :(
Re,
Ben, non.
Regarde
long nombreATaperPourArreter = 0;
if (nombreATaperPourArreter == -1)
{
scanf ("%d", nombreATaperPourArreter);
printf ("FIN du programme \n");
}
Donc ton scanf s'exécute if (nombreATaperPourArreter == -1)
Donc il ne s'exécutera jamais puisque long nombreATaperPourArreter = 0;
Tu n'as pas compris le if.
Dans ton cas les instructions de la boucle if ne s'exécute pas puisque au moment quand if commence la variable vaut 0
Comme la condition de if demande que la variable soit -1 et ce n'est pas le cas vu qu'elle vaut zéro, alors les instructions scanf et prinf de la boucle if ne s'exécutent pas.
Ben, non.
Regarde
long nombreATaperPourArreter = 0;
if (nombreATaperPourArreter == -1)
{
scanf ("%d", nombreATaperPourArreter);
printf ("FIN du programme \n");
}
Donc ton scanf s'exécute if (nombreATaperPourArreter == -1)
Donc il ne s'exécutera jamais puisque long nombreATaperPourArreter = 0;
Tu n'as pas compris le if.
Dans ton cas les instructions de la boucle if ne s'exécute pas puisque au moment quand if commence la variable vaut 0
Comme la condition de if demande que la variable soit -1 et ce n'est pas le cas vu qu'elle vaut zéro, alors les instructions scanf et prinf de la boucle if ne s'exécutent pas.