Avatar
Libor Šimo (libcosenior):

Vie niekto z vás preložiť tento kód do matematiky? Zatiaľ som nepochopil ako pracuje.

#include <stdio.h>
#define _ F-->00||F-OO--;

int F=00,OO=00;

main()
{
    F_OO();
    printf("%f\n",4.*-F/OO/OO);
}

F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_
}
Editováno 30.4.2013 7:51
Odpovědět 30.4.2013 7:47
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Luboš Běhounek (Satik):

Odhaduje PI podle té vyčárkované plochy

Nahoru Odpovědět  +1 30.4.2013 9:10
:)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Čápka:

Wow, sice znám vztah mezi PI a obsahem a obvodem, ale z toho kódu bych to nepoznal :D

Nahoru Odpovědět 30.4.2013 9:14
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Luboš Běhounek (Satik):

Dá se to přepsat třeba na tenhle tvar:

#include <stdio.h>
#define _ plocha-->0||plocha-r--; // makro, kazde podtrzitko v kodu se nahradi timto kodem

int plocha=0,r=0;

void spocitej()
{
             _-_-_-_
        _-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_
   _-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
   _-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_
         _-_-_-_-_-_-_-_
             _-_-_-_

}

void main()
{
     spocitej();
     printf("%f\n",4.0*-plocha/(r*r));
     getchar();
}
Nahoru Odpovědět  +1 30.4.2013 9:15
:)
Avatar
Odpovídá na Luboš Běhounek (Satik)
Luboš Běhounek (Satik):
#define _ plocha-->0||plocha-r--;

Odzávorkované, aby bylo vidět, co k čemu patří:

(plocha--)>0||plocha-(r--);

Ta část za || se (kvůli optimalizacím) provede jen když první část vyjde false - tedy když obsah proměnné
plocha <= 0 .

Např. první řádek funkce spocitej() se pak rozvine do

plocha-->0||plocha-r--;-plocha-->0||plocha-r--;-plocha-->0||plocha-r--;-plocha-->0||plocha-r--;
Editováno 30.4.2013 9:28
Nahoru Odpovědět 30.4.2013 9:28
:)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Čápka:

Aha, to makro mi tam chybělo :D Dík.

Nahoru Odpovědět 30.4.2013 10:20
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Lukáš Hruda (Luckin):

To je ale dobrá prasárna :D Ale vypadá to pěkně s tim kolečkem vevnitř :)

 
Nahoru Odpovědět 30.4.2013 10:57
Avatar
Libor Šimo (libcosenior):

Mňa by celkom zaujímalo, ktorá hlavička to vymyslela. 8-)

PS.
Pokúšal som sa napísať program, ktorý by priebežne vypisoval aktuálne hodnoty premenných plocha a r (podľa Satik-a), ale nejak sa mi nedarilo.

Editováno 30.4.2013 18:09
Nahoru Odpovědět 30.4.2013 18:05
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Lukáš Hruda (Luckin):

Stačí když změníš to makro:

#define _ plocha-->0||plocha-r--; printf("%d  %d\n",plocha,r);
 
Nahoru Odpovědět  +1 30.4.2013 18:37
Avatar
Libor Šimo (libcosenior):

Super jednoduché. Díky.
Stále zisťujem ako do toho málo vidím.

Ešte by ma zaujímalo, ako napadlo Satik-a zmeniť:
printf("%f\n",4.-F/OO/OO);
na
printf("%f\n",4.0
-F/(OO*OO));

Nahoru Odpovědět 30.4.2013 19:51
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Honza Bittner:

jelikož

15/3/5 = 1;
a
15/(3*5) = 1;

Editováno 30.4.2013 19:56
Nahoru Odpovědět  +1 30.4.2013 19:56
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

když nějaké číslo_X dělíš číslem_a a výsledek pak číslem_b tak to je stejné jako vydělit číslo_X součinem čísla_a a čísla_b

Nahoru Odpovědět  +2 30.4.2013 19:58
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Libor Šimo (libcosenior):

Ďakujem. Predpokladám, že je to jedna zo základných znalostí základnej školy, ale od tej som už vzdialený 40 rokov, tak prepáčte za neznalosť.:[

Nahoru Odpovědět  +1 1.5.2013 6:27
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Honza Bittner:

:D .... nevím jestli se to učí na ZŠ ale dá se to odvodit :)

Je to to samé jako když máš X - A - B = Y .. tak funguje X - (A+B) = Y

:P
Nahoru Odpovědět 1.5.2013 10:53
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Libor Šimo (libcosenior):

Je na čase aby som to uzavrel a odpovedal na moju pôvodnú otázku. :)
Preložené do matematiky to znamená, že funkcia F_OO() za pomoci makra #define _ F-->00||F-OO--; vráti hodnoty:
F = -201
OO = -16
Vzorec 4.*-F/OO/OO teda 4 * -(-201) /-16 / -16
= 3,140625

Nahoru Odpovědět 2.5.2013 9:51
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.