Rend la monnaie en langage c
Résolu/Fermé
chungech
Messages postés
7
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
20 novembre 2007
-
25 oct. 2007 à 11:22
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 25 oct. 2007 à 13:57
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 25 oct. 2007 à 13:57
A voir également:
- Rend la monnaie en langage c
- Langage ascii - Guide
- Porte monnaie vinted - Guide
- Langage binaire - Guide
- Monnaie conversion - Télécharger - Banque & Budget
- Pascal langage - Télécharger - Édition & Programmation
4 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
25 oct. 2007 à 11:39
25 oct. 2007 à 11:39
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
chungech
Messages postés
7
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
20 novembre 2007
25 oct. 2007 à 12:13
25 oct. 2007 à 12:13
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");
}
chungech
Messages postés
7
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
20 novembre 2007
25 oct. 2007 à 12:16
25 oct. 2007 à 12:16
#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");
}
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
25 oct. 2007 à 13:57
25 oct. 2007 à 13:57
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 ?