Rend la monnaie en langage c
Résolu
chungech
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veut faire un petit programme en langage c qui pour une somme donne S imprime le nombre (minimal) e piece necesasaires pour la composer
les pieces
30 dinar=30000 millimes
20 dinar = 20000 milimes
10 dinar =10000 millimes
5 dinar 5000
1 dinar 1000
1/2 dinar 500
1/10 dinar 100
1/20 dinar 50
1/50 20
1/100 10
1/200 5
1/500 2
svp aider moi pour trouvez l'algo juste une idee pour entamer l'écriture du programme
je veut faire un petit programme en langage c qui pour une somme donne S imprime le nombre (minimal) e piece necesasaires pour la composer
les pieces
30 dinar=30000 millimes
20 dinar = 20000 milimes
10 dinar =10000 millimes
5 dinar 5000
1 dinar 1000
1/2 dinar 500
1/10 dinar 100
1/20 dinar 50
1/50 20
1/100 10
1/200 5
1/500 2
svp aider moi pour trouvez l'algo juste une idee pour entamer l'écriture du programme
A voir également:
- Rend la monnaie en langage c
- Langage ascii - Guide
- Porte monnaie vinted - Guide
- Convertisseur de monnaie - Télécharger - Banque & Budget
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
4 réponses
Bonjour,
Ca fait trop longtemps que je n'ai pas fait de C, donc je préfère éviter de te donner du code, mais voilà déjà l'algorithme :
Soit S la somme à décomposer.
Soit P[] le tableau contenant la valeur des pièces, trié de la plus grosse à la plus petite (le tri est important !)
On appelle s une variable temporaire qui correspond au reste de la somme.
On appelle p une variable temporaire qui correspond à l'indice d'une pièce dans le tableau P[]
On appelle R[] le tableau résultat : R[p] contient le nombre de pièces p
Voilà l'algorithme :
Voilà, c'est pas compliqué :)
Xavier
Ca fait trop longtemps que je n'ai pas fait de C, donc je préfère éviter de te donner du code, mais voilà déjà l'algorithme :
Soit S la somme à décomposer.
Soit P[] le tableau contenant la valeur des pièces, trié de la plus grosse à la plus petite (le tri est important !)
On appelle s une variable temporaire qui correspond au reste de la somme.
On appelle p une variable temporaire qui correspond à l'indice d'une pièce dans le tableau P[]
On appelle R[] le tableau résultat : R[p] contient le nombre de pièces p
Voilà l'algorithme :
s = S; p = 0; Tant que s > 0, faire R[p] = s / P[p]; s = s % P[p]; p = p + 1; Continuer;
Voilà, c'est pas compliqué :)
Xavier
merci pour l'aide mai
ca na pas marché
#include <stdio.h>
#include <stdlib.h>
void main()
{
int piece[12] = {30000, 20000, 10000, 5000, 1000, 500, 100, 50, 20, 10 ,5 ,2};
int result[12];
int i,reste,somme;
printf("entrez la somme s");
scanf("%d",&somme);
while(somme>0)
{
i=i+1;
result[i]=somme/piece[i];
reste=somme%piece[i];
result[i]=reste;
printf("on peut composer %d piece de valeur %d \n",result[i],piece[i]);
}
system("pause");
}
ca na pas marché
#include <stdio.h>
#include <stdlib.h>
void main()
{
int piece[12] = {30000, 20000, 10000, 5000, 1000, 500, 100, 50, 20, 10 ,5 ,2};
int result[12];
int i,reste,somme;
printf("entrez la somme s");
scanf("%d",&somme);
while(somme>0)
{
i=i+1;
result[i]=somme/piece[i];
reste=somme%piece[i];
result[i]=reste;
printf("on peut composer %d piece de valeur %d \n",result[i],piece[i]);
}
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
void main()
{
int piece[12] = {30000, 20000, 10000, 5000, 1000, 500, 100, 50, 20, 10 ,5 ,2};
int result[12];
int i,reste,somme;
printf("entrez la somme s");
scanf("%d",&somme);
while(somme>0)
{
i=i+1;
result[i]=somme/piece[i];
reste=somme%piece[i];
somme=reste;
printf("on peut composer %d piece de valeur %d \n",result[i],piece[i]);
}
system("pause");
}
#include <stdlib.h>
void main()
{
int piece[12] = {30000, 20000, 10000, 5000, 1000, 500, 100, 50, 20, 10 ,5 ,2};
int result[12];
int i,reste,somme;
printf("entrez la somme s");
scanf("%d",&somme);
while(somme>0)
{
i=i+1;
result[i]=somme/piece[i];
reste=somme%piece[i];
somme=reste;
printf("on peut composer %d piece de valeur %d \n",result[i],piece[i]);
}
system("pause");
}
Déjà, tu fais i=i+1 dès le début de la boucle, ce qui fait que tu n'utilises jamais la plus grosse pièce (qui est en i=0) Et il faut peut-être initialiser i à 0, non ? Enfin c'est peut-être implicite en C, je ne sais pas.
Ensuite, qu'est-ce qui n'a pas marché exactement ? Le résultat n'est pas bon ? Tu as un message d'erreur ?
Ensuite, qu'est-ce qui n'a pas marché exactement ? Le résultat n'est pas bon ? Tu as un message d'erreur ?