Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj,
Hľadám algoritmus, ktorý nájde z troch čísel prostredné:
teda ak sú tri čísla x, y, z a platí y < x < z tak hľadané číslo je x...
Chcel by som to iba s podmienkami, teda žiadne polia alebo vstavané funkcie...
Toto som zatiaľ urobil v C-éčku, nedalo by sa to ešte nejako zjednodušiť ?
if(c1 > c2) {
if(c2 > c3)
printf("%d", c2);
else if(c1 < c3)
printf("%d", c1);
else
printf("%d", c3);
}
else {
if(c2 < c3)
printf("%d", c2);
else if(c1 > c3)
printf("%d", c1);
else
printf("%d", c3);
}Offline

Napada me akorat treba neco v tomto stylu:
if ((c1 > c2) + (c1 > c3) == 1)
printf ("%d", c1);
else{
if ((c2 > c1) + (c2 > c3) == 1)
printf ("%d", c2);
else
printf ("%d", c3);
}Ale nevim, jestli neco takoveho se ti zda v poradku a jestli je to jednodussi :-)
Offline

↑ hradecek:
A co takto - tedy nevim jestli je to jednoduší.
//y < x < z || z < x < y- pros = x
//x < y < z || z < y < x- pros = y
//x < z < y || y < z < x- pros = z
int x=5,y=3,z=2,pros;
if((y < x && x < z) || (z < x && x < x))
pros=x;
else if((x < y && y < z) || (z < y && y < x))
pros=y;
else if((x < z && z < y) || (y < z && z < x))
pros=z;
else
{
printf("nektere z cisel se rovnaji\n");
pros=0;
}
printf("%i\n",pros);Offline
↑ Lumikodlak:
Hmmm, toto sa mi celkom páči...
↑ gladiator01:
Toto sa mi tiež dosť páči, a riešiť situáciu že sa 2 rovnajú ma nenapadlo :/...
Vďaka.
Offline
Stránky: 1