Conditions sans IF
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 1 sur 1•
Conditions sans IF
Exercice
SANS UTILISER L’INSTRUCTION (IF…ELSE…) NI (SWITCH…CASE)
Essayer d’écrire un programme qui lit 6 nombres entiers a1, a2, a3, a4, a5 et a6 et calcule le nombre d’entiers qui répondent à la condition suivante :
SANS UTILISER L’INSTRUCTION (IF…ELSE…) NI (SWITCH…CASE)
Essayer d’écrire un programme qui lit 6 nombres entiers a1, a2, a3, a4, a5 et a6 et calcule le nombre d’entiers qui répondent à la condition suivante :
- ayant « 5 » comme chiffre d’unités, et
- contenant au moins 3 chiffres, et
- étant le carré d’un autre nombre entier (exemple : 64 carré de

informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix- Membre fondamental

- Messages : 350
Inscrit le : 19 Mar 2007
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: Conditions sans IF
Moi, j'ai une idée sur la solution. J'attends les propositions des membres...
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Conditions sans IF
çà ressemblera à quelque chose comme :
- Code:
nbre = (a1 % 5 == 0) && (a1 >= 100) && (sqrt(a1)*sqrt(a1) == a1) +
(a2 % 5 == 0) && (a2 >= 100) && (sqrt(a2)*sqrt(a2) == a2) +
(a3 % 5 == 0) && (a3 >= 100) && (sqrt(a3)*sqrt(a3) == a3) +
(a4 % 5 == 0) && (a4 >= 100) && (sqrt(a4)*sqrt(a4) == a4) +
(a5 % 5 == 0) && (a5 >= 100) && (sqrt(a5)*sqrt(a5) == a5) +
(a6 % 5 == 0) && (a6 >= 100) && (sqrt(a6)*sqrt(a6) == a6);
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Conditions sans IF
manianis:
(a1 % 5 == 0) ne veut pas dire que le chiffre d'unité de a1 est 5.
exemple:
a1 = 120
------------------------------------------------------------
sqrt(a1)*sqrt(a1) == a1, elle est toujours vraie
------------
mais c'est ça l'idée.
juste quelques rectifications.
(a1 % 5 == 0) ne veut pas dire que le chiffre d'unité de a1 est 5.
exemple:
a1 = 120
------------------------------------------------------------
sqrt(a1)*sqrt(a1) == a1, elle est toujours vraie
------------
mais c'est ça l'idée.
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Conditions sans IF
je ne savais pas qeu c faisable, mais manianis l'a prouvé. bravo
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix- Membre fondamental

- Messages : 350
Inscrit le : 19 Mar 2007
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: Conditions sans IF
slt
je crois que la solution est fasse car il faut faire
a1%10= =5;
e pour la condition
(a1 % 10 == 0) && (a1 >= 100) &&(a1<=999)&& (sqrt(a1)*sqrt(a1) == a1) +......
je crois que la solution est fasse car il faut faire
a1%10= =5;
e pour la condition
(a1 % 10 == 0) && (a1 >= 100) &&(a1<=999)&& (sqrt(a1)*sqrt(a1) == a1) +......
Re: Conditions sans IF
medch a écrit:slt
je crois que la solution est fasse car il faut faire
a1%10= =5;
e pour la condition
(a1 % 10 == 0) && (a1 >= 100) &&(a1<=999)&& (sqrt(a1)*sqrt(a1) == a1) +......
effectivement medch:
la condition a1%10==5 est correcte.
(a1 >= 100) &&(a1<=999) n'est pas correcte. Il faut que le nombre ait au moins 3 chiffres, et non pas uniquement trois chiffres.
@+
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Conditions sans IF
#include
#include
void main ()
{
int a1,a2,a3,a4,a5,a6;
int nombre;
printf("donner un entier; ");
scanf("%d",&a1);
printf("donner un entier; ");
scanf("%d",&a2);
printf("donner un entier; ");
scanf("%d",&a3);
printf("donner un entier; ");
scanf("%d",&a4);
printf("donner un entier; ");
scanf("%d",&a5);
printf("donner un entier; ");
scanf("%d",&a6);
nombre = ((a1 % 10 == 5) && (a1 >= 100) && (sqrt(a1)*sqrt(a1) == a1))
||((a2 % 10== 5) && (a2 >= 100) && (sqrt(a2)*sqrt(a2) == a2) )
|| ((a3 % 10 == 5) && (a3 >= 100) && (sqrt(a3)*sqrt(a3) == a3) )
|| ((a4 % 10 == 5) && (a4 >= 100) && (sqrt(a4)*sqrt(a4) == a4) )
|| ((a5 % 10 == 5) && (a5 >= 100) && (sqrt(a5)*sqrt(a5) == a5) )
|| ((a6 % 10 == 5) && (a6 >= 100) && (sqrt(a6)*sqrt(a6) == a6) );
printf("le nombre est %d \n",nombre);
printf("le nombre est %d",nombre);
}
#include
void main ()
{
int a1,a2,a3,a4,a5,a6;
int nombre;
printf("donner un entier; ");
scanf("%d",&a1);
printf("donner un entier; ");
scanf("%d",&a2);
printf("donner un entier; ");
scanf("%d",&a3);
printf("donner un entier; ");
scanf("%d",&a4);
printf("donner un entier; ");
scanf("%d",&a5);
printf("donner un entier; ");
scanf("%d",&a6);
nombre = ((a1 % 10 == 5) && (a1 >= 100) && (sqrt(a1)*sqrt(a1) == a1))
||((a2 % 10== 5) && (a2 >= 100) && (sqrt(a2)*sqrt(a2) == a2) )
|| ((a3 % 10 == 5) && (a3 >= 100) && (sqrt(a3)*sqrt(a3) == a3) )
|| ((a4 % 10 == 5) && (a4 >= 100) && (sqrt(a4)*sqrt(a4) == a4) )
|| ((a5 % 10 == 5) && (a5 >= 100) && (sqrt(a5)*sqrt(a5) == a5) )
|| ((a6 % 10 == 5) && (a6 >= 100) && (sqrt(a6)*sqrt(a6) == a6) );
printf("le nombre est %d \n",nombre);
printf("le nombre est %d",nombre);
}
Re: Conditions sans IF
Ca ne doit pas marcher medch
Voilà les raisons:

Voilà les raisons:
- tu as utilisé des OR || entre les conditions ce qui fait que dans "nombre" tu vas trouver soit ZERO soit UN...
- (sqrt(a1)*sqrt(a1) == a1) elle est toujours VRAI. même pour les nombres réels (non entiers)
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: Conditions sans IF
il y a une petite relation entre ce sujet et le sujet "vérifier si un nombre est entier ou float"
n'est-ce pas ???
n'est-ce pas ???
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix- Membre fondamental

- Messages : 350
Inscrit le : 19 Mar 2007
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: Conditions sans IF
je crois que OUI !!! 
j'ai trouvé un lien. J'espère que je ne suis pas très bête.
j'ai trouvé un lien. J'espère que je ne suis pas très bête.
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX- Admin


- Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST
Feuille de personnage
Capacité linguistique:


(1000/1000)







