Posez votre question Signaler

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

faidherbe111 8Messages postés vendredi 4 octobre 2013Date d'inscription 7 novembre 2013Dernière intervention - Dernière réponse le 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.
Lire la suite 
Réponse
+0
moins plus
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. (?)
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
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 10366Messages postés samedi 5 mai 2007Date d'inscription ContributeurStatut 31 mai 2015Derniè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.
Répondre
Atienon 93Messages postés lundi 17 décembre 2012Date d'inscription 9 août 2014Derniè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.
Répondre
zlavtok 530Messages postés jeudi 24 janvier 2013Date d'inscription 25 octobre 2013Derniè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 ?
Répondre
[Dal] 3555Messages postés mercredi 15 septembre 2004Date d'inscription ContributeurStatut 28 avril 2015Derniè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
Répondre
Atienon 93Messages postés lundi 17 décembre 2012Date d'inscription 9 août 2014Derniè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.
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
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 !!
Ajouter un commentaire
Réponse
+0
moins plus
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 ...
Ajouter un commentaire
Réponse
+0
moins plus
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 530Messages postés jeudi 24 janvier 2013Date d'inscription 25 octobre 2013Derniè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.
Répondre
fiddy 10366Messages postés samedi 5 mai 2007Date d'inscription ContributeurStatut 31 mai 2015Derniè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é).
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
bonsoir tout le monde encore merci
Ajouter un commentaire
Ce document intitulé «  concevoir un programme de calcul en c  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.