A voir également:
- Incrémenter un nombre décimale ? en C
- Nombre facile - Télécharger - Outils professionnels
- En raison d'un nombre important d'échec de connexion snapchat ✓ - Forum Snapchat
- Le nombre de tentatives de déverrouillage incorrectes est trop élevé samsung ✓ - Forum Samsung
- En raison d'un nombre important d'échecs de connexion ou d'a - Forum Snapchat
- Mettre un 0 devant un nombre dans excel - Guide
7 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 déc. 2008 à 11:03
25 déc. 2008 à 11:03
Salut,
Tu peux incrémenter la partie entière et la partie décimale
Tu peux incrémenter la partie entière et la partie décimale
lami20j@debian:~/trash$ cat ccm18_incrementerfloat.c #include<stdio.h> int main() { int PartieEntiere; int PartieDecimale; double N; int i; printf("entrer votre code secret decimal\n"); scanf("%lf", &N); PartieEntiere = N; PartieDecimale = (N - PartieEntiere) * 100; printf("Nombre : %.2lf\nPartie entière : %d\nPartie decimale : %d\n", N,PartieEntiere,PartieDecimale); for(i=1;i<=PartieEntiere;++i) printf("%d ",i); printf("\n"); for(i=1;i<=PartieDecimale;++i) printf("%d ",i); printf("\n"); return 0; } lami20j@debian:~/trash$ gcc ccm18_incrementerfloat.c lami20j@debian:~/trash$ ./a.out entrer votre code secret decimal 5.11 Nombre : 5.11 Partie entière : 5 Partie decimale : 11 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11
oui mais en fait le but du programme on va dire ca sera de chercher un nombre decimale par exemple 12345.1234567
et je n'ai pas tres bien compris ce qu'il se passait dans ton code car en plus si je marque le nombre 12343.456342 il ne me donne pas la bonne reponse
et par exemple en console est-ce que ca serait possible de separer celle-ci en deux colones et que ca fasse cela :
1 1
2 2
3 4
. .
... ...
12343 456342
//apres assembler c'est deux nombre pour former le nombre decimal 12343.456342
je ne sais pas si je suis tres claire mais bon
et ps : comment faire pour que l'ordi puisse generer un nombre aleatoire decimale
merci
et je n'ai pas tres bien compris ce qu'il se passait dans ton code car en plus si je marque le nombre 12343.456342 il ne me donne pas la bonne reponse
et par exemple en console est-ce que ca serait possible de separer celle-ci en deux colones et que ca fasse cela :
1 1
2 2
3 4
. .
... ...
12343 456342
//apres assembler c'est deux nombre pour former le nombre decimal 12343.456342
je ne sais pas si je suis tres claire mais bon
et ps : comment faire pour que l'ordi puisse generer un nombre aleatoire decimale
merci
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 déc. 2008 à 11:51
25 déc. 2008 à 11:51
Re,
Mon code n'était qu'un exemple pour 2 décimales et pour te montrer peut être une piste.
A toi d'adapter.
Voici un autre exemples, mais tu devrais préciser le nombre de decimales
Mon code n'était qu'un exemple pour 2 décimales et pour te montrer peut être une piste.
A toi d'adapter.
Voici un autre exemples, mais tu devrais préciser le nombre de decimales
#include<stdio.h> int main() { int PartieEntiere; int PartieDecimale; double N; int i; int NbrDecimales; int coef = 1; printf("entrer le nombre de decimales : "); scanf("%d", &NbrDecimales); printf("entrer votre code secret decimal :"); scanf("%lf", &N); for(i=0;i<NbrDecimales;++i) coef = 10 * coef; PartieEntiere = N; PartieDecimale = (N - PartieEntiere) * coef; printf("Nombre : %.lf\nPartie entière : %d\nPartie decimale : %d\n", N,PartieEntiere,PartieDecimale); for(i=1;i<=PartieEntiere;++i) printf("%d ",i); printf("\n"); for(i=1;i<=PartieDecimale;++i) printf("%d ",i); printf("\n"); return 0; }
et si l'on ne connait pas le nombre de decimales ???
et comment generer un nombre decimale aleatoire ?
et comment generer un nombre decimale aleatoire ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
25 déc. 2008 à 14:58
25 déc. 2008 à 14:58
Salut,
rand() te renvoie un nombre "aléatoire" entre 0 et RAND_MAX. Donc :
Un petit coup de multiplication par une puissance de 10 et hop, voilà ton nombre décimal.
Pour connaître le nombre de chiffres d'un nombre, une petite boucle while marche très bien.
Par exemple:
rand() te renvoie un nombre "aléatoire" entre 0 et RAND_MAX. Donc :
(double)rand()/RAND_MAXte renvoie entre 0 et 1.
Un petit coup de multiplication par une puissance de 10 et hop, voilà ton nombre décimal.
Pour connaître le nombre de chiffres d'un nombre, une petite boucle while marche très bien.
Par exemple:
int a=12345; while(a>0){ a/=10; i++; }
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
25 déc. 2008 à 15:32
25 déc. 2008 à 15:32
Salut,
Ou pour abréger ;-)
Ou pour abréger ;-)
int i=0; int a=12345; while(++i && (a/=10));
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et un autre question comment additionner un nombre decimal a un nombre entier ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
27 déc. 2008 à 10:33
27 déc. 2008 à 10:33
Avec l'opérateur + ^^.
double a = 5.0 + 12;
double a = 5.0 + 12;
j'ai encore quelques question j'ai compris comment incrementer un nombre decimal le probleme c'est que au lieu de proceder comme ca (admettons qu'il y a deux decimals):
0.99
0.98
0.97
0.96
...........
jusqu'au code par exemple 0.22
et donc comment faire comme cela
0.1
0.2
0.3
0.4
..............................
0.9
0.10
0.11
0.22 le code secret
et completement a par auriez vous juste un exemple de code qui permette de recuperer un saisie numerique et avec des lettres ^^
merci
0.99
0.98
0.97
0.96
...........
jusqu'au code par exemple 0.22
et donc comment faire comme cela
0.1
0.2
0.3
0.4
..............................
0.9
0.10
0.11
0.22 le code secret
et completement a par auriez vous juste un exemple de code qui permette de recuperer un saisie numerique et avec des lettres ^^
merci
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
27 déc. 2008 à 11:35
27 déc. 2008 à 11:35
Je ne vois vraiment pas où est ton problème.
Les nombres décimaux ne sont pas des bêtes à part en C. Il y a juste quelques précautions à prendre en cas de comparaison.
Une simple boucle while (nb < 0.22) nb++; devrait faire l'affaire.
Un code pour une saisie numérique : double nb; scanf("%lf",&nb);
Un code pour une saisie avec des lettres : char buf[16]; fgets(buf, sizeof buf, stdin)
Cdlt
Les nombres décimaux ne sont pas des bêtes à part en C. Il y a juste quelques précautions à prendre en cas de comparaison.
Une simple boucle while (nb < 0.22) nb++; devrait faire l'affaire.
Un code pour une saisie numérique : double nb; scanf("%lf",&nb);
Un code pour une saisie avec des lettres : char buf[16]; fgets(buf, sizeof buf, stdin)
Cdlt