Concevoir un programme de calcul en c [Résolu/Fermé]

faidherbe111 8 Messages postés vendredi 4 octobre 2013Date d'inscription 7 novembre 2013 Dernière intervention - 24 oct. 2013 à 19:22 - Dernière réponse : faidherbe111 8 Messages postés vendredi 4 octobre 2013Date d'inscription 7 novembre 2013 Dernière intervention
- 26 oct. 2013 à 02:16
Bonjour tout le monde s'il vous plait je sollicite votre aide afin de m'aider à résoudre cet exercice ci-dessous , merci pour tout vos solutions.

concevoir et rédiger un programme en c qui permet de calculer la moyenne de trois nombre s réels et d'afficher ceux qui sont supérieur à la moyenne.

Afficher la suite 

14 réponses

Atienon 138 Messages postés lundi 17 décembre 2012Date d'inscription 29 juillet 2015 Dernière intervention - 24 oct. 2013 à 19:26
0
Utile
Au risque d'avoir mal compris, je trouve que c'est assez simple. Tu demandes à ce qu'on renseigne les trois nombres S, tu mets chaque nombres dans une variable. Tu crées une autre variable dans laquelle tu divises la somme des trois nombres S par trois.
Puis après une condition, dans laquelle tu testes pour chaque variable si elle est supérieure à la moyenne et dans ce cas un print pour annoncer que le S, dans ce cas-là est supérieur à la moyenne. (?)
faidherbe111 8 Messages postés vendredi 4 octobre 2013Date d'inscription 7 novembre 2013 Dernière intervention - 24 oct. 2013 à 19:50
0
Utile
6
merci Atienon pour ta réponse mais moi j'ai un très gros problème avec les algorithmes et je désir apprendre à l'aide d'exercices puis corrigés , mais au moins résoudre cet exercice de ta part ou des autres utilisateurs de commentcamarche.net me sera beaucoup utile , merci!!
fiddy 11141 Messages postés samedi 5 mai 2007Date d'inscriptionContributeurStatut 18 octobre 2016 Dernière intervention - 24 oct. 2013 à 23:43
Dans les printf, on ne met pas les & sinon tu affiches l'adresse des variables...

elseif
Ca n'existe pas en C. Il s'agit de : else if (deux mots clés contrairement à d'autres langages).

Et l'algorithme n'est pas bon. Il ne faut pas mettre des else if, sinon tu n'afficheras pas toutes les variables supérieures à la moyenne.

Enfin, à la fin, il faut faire un affichage de '\n' ou faire un flush explicite.
Atienon 138 Messages postés lundi 17 décembre 2012Date d'inscription 29 juillet 2015 Dernière intervention - 25 oct. 2013 à 00:24


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int premier_nombre, deuxieme_nombre, troisieme_nombre, moyenne; //On déclare les variables mais j'ai oublié de les initialiser


//On demande les trois nombres S

printf("Veuillez entrer le premier nombre");
scanf("%d", &premier_nombre);
printf("Veuillez entrer le deuxieme nombre");
scanf("%d", &deuxieme_nombre);
printf("Veuillez entrer le troisieme nombre");
scanf("%d", &troisieme_nombre);

moyenne=(premier_nombre+deuxieme_nombre+troisieme_nombre)/3; //On fait la moyenne

printf("La moyenne est de %d.\n", moyenne); //On l'affiche


//On regarde si les nombres qui ont été émis sont supérieurs à la moyenne, et si oui on affiche un message
if (premier_nombre>moyenne)
{
printf("Le premier nombre %d est supérieur à la moyenne.\n", premier_nombre);
}
if (deuxieme_nombre>moyenne)
{
printf("Le deuxieme nombre %d est supérieur à la moyenne.\n", deuxieme_nombre);
}
if(troisieme_nombre>moyenne)
{
printf("Le troisieme nombre %d est supérieur à la moyenne.\n", troisieme_nombre);
}

return 0;
}

Merci, effectivement je n'avais pas codé en C depuis deux ans mais ça revient ^^ je pense que cette version est plus adaptée.
zlavtok 530 Messages postés jeudi 24 janvier 2013Date d'inscription 25 octobre 2013 Dernière intervention - 25 oct. 2013 à 09:37
Sur une division par 3 il y a fort a parier que la moyenne que tu vas afficher soit en réalité inférieur a la moyenne (mathématique). Dans deux tiers des cas elle le sera du moins.

Il serait donc plus judicieux d'utiliser des variables à virgule, pour gagner en précision non ?
[Dal] 4466 Messages postés mercredi 15 septembre 2004Date d'inscriptionContributeurStatut 29 novembre 2017 Dernière intervention - 25 oct. 2013 à 13:40
oui, surtout que c'est dans l'énoncé... "la moyenne de trois nombre s réels"

en C, un nombre réel, cela serait des float ou double

http://www.commentcamarche.net/contents/196-langage-c-les-types-de-donnees


Dal
Atienon 138 Messages postés lundi 17 décembre 2012Date d'inscription 29 juillet 2015 Dernière intervention - 25 oct. 2013 à 13:48
Dernier message et j'arrête ^^


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
float premier_nombre, deuxieme_nombre, troisieme_nombre, moyenne; //On déclare les variables mais j'ai oublié de les initialiser


//On demande les trois nombres S

printf("Veuillez entrer le premier nombre:\n");
scanf("%f", &premier_nombre);
printf("Veuillez entrer le deuxieme nombre:\n");
scanf("%f", &deuxieme_nombre);
printf("Veuillez entrer le troisieme nombre:\n");
scanf("%f", &troisieme_nombre);

moyenne=(premier_nombre+deuxieme_nombre+troisieme_nombre)/3; //On fait la moyenne

printf("\nLa moyenne est de %f.\n", moyenne); //On l'affiche


//On regarde si les nombres qui ont été émis sont supérieurs à la moyenne, et si oui on affiche un message
if (premier_nombre>moyenne)
{
printf("Le premier nombre %f est supérieur à la moyenne.\n", premier_nombre);
}
if (deuxieme_nombre>moyenne)
{
printf("Le deuxieme nombre %f est supérieur à la moyenne.\n", deuxieme_nombre);
}
if(troisieme_nombre>moyenne)
{
printf("Le troisieme nombre %f est supérieur à la moyenne.\n", troisieme_nombre);
}

return 0;
}

Il est vrai que j'aurais du mettre des variables de type float pour avoir un meilleur résultat surtout lorsque la moyenne est un nombre décimal. Merci en tout cas.

faidherbe111, je pense que maintenant tu as de quoi potasser, si j'ai un conseil à te donner c'est de lire différents cours sur Internet concernant la programmation en C si tu as encore des problèmes avec les algorithmes puisque là ce n'est que le début, mais au fil du temps ça risque de se compliquer et si tu ne maîtrises pas les bases tu n'y arriveras pas.
faidherbe111 8 Messages postés vendredi 4 octobre 2013Date d'inscription 7 novembre 2013 Dernière intervention - 25 oct. 2013 à 04:57
0
Utile
bonsoir Atienon, bonsoir fiddy , je vous remercie infiniment pour votre aide!!!! et si je pouvais devenir super bon en programmation comme vous , je serai très heureux !!
BunoCS 13011 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention - Modifié par BunoCS le 25/10/2013 à 09:18
0
Utile
Bonjour,

et si je pouvais devenir super bon en programmation comme vous , je serai très heureux
Au risque de jeter un pavé dans la mare, tu n'y arrivera pas si tu ne travailles pas par toi-même... Atienon a été sympa de te filer le code: tu va le montrer à tes potes/profs, tu sera content mais lors du prochain exercice, tu n'aura rien appris ni retenu...

Je trouve ça dommage et je t'encourage vivement à chercher par toi-même avant de venir chercher de l'aide.
Pour rappel, voici la position de CCM concernant les demandes d'aide pour les exercices

@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, envisage a time ...
faidherbe111 8 Messages postés vendredi 4 octobre 2013Date d'inscription 7 novembre 2013 Dernière intervention - 25 oct. 2013 à 11:33
0
Utile
2
Bonjour BrunoCS merci, et j'ai désormais compris la léçon, je chercherai par moi-même!!!!! merci et bonne journée à tous!!!
zlavtok 530 Messages postés jeudi 24 janvier 2013Date d'inscription 25 octobre 2013 Dernière intervention - 25 oct. 2013 à 14:19
Oh tu sais c'est plus une leçon qu'un conseil, mais n'oublie pas une chose très importante, ces exercices ont pour but de te faire chercher des solutions par toi même afin de te stimuler, sans cela tu ne pourra rien apprendre.

Bonne continuation.
fiddy 11141 Messages postés samedi 5 mai 2007Date d'inscriptionContributeurStatut 18 octobre 2016 Dernière intervention - 25 oct. 2013 à 14:50
Pour info, en C on utilise par défaut les doubles plutôt que les float (sauf si besoin impératif de mémoire genre l'embarqué).
faidherbe111 8 Messages postés vendredi 4 octobre 2013Date d'inscription 7 novembre 2013 Dernière intervention - 26 oct. 2013 à 02:16
0
Utile
bonsoir tout le monde encore merci