abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 0
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 0
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 3
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
7.12. 11:11 | Komunita

Naprostá většina příjmů Mozilly pochází od výchozích webových vyhledávačů ve Firefoxu. Do konce listopadu 2014 měla Mozilla globální smlouvu se společností Google. Následně bylo místo jedné globální smlouvy uzavřeno několik smluv s konkrétními vyhledávači pro jednotlivé země. V USA byla podepsána pětiletá smlouva s vyhledávačem Yahoo. Dle příspěvku na blogu Mozilly podala společnost Yahoo na Mozillu žalobu ohledně porušení této

… více »
Ladislav Hagara | Komentářů: 0
7.12. 05:55 | Zajímavý článek

V Londýně probíhá konference věnovaná počítačové bezpečnosti Black Hat Europe 2017. Průběžně jsou zveřejňovány prezentace. Videozáznamy budou na YouTube zveřejněny o několik měsíců. Zveřejněna byla například prezentace (pdf) k přednášce "Jak se nabourat do vypnutého počítače, a nebo jak v Intel Management Engine spustit vlastní nepodepsaný kód". Dle oznámení na Twitteru, aktualizace vydaná společností Intel nevylučuje možnost útoku.

Ladislav Hagara | Komentářů: 5
7.12. 04:44 | Komunita

Virtualizační nástroj GNOME Boxy ve Fedoře 27 umožňuje jednoduše stáhnout a nainstalovat Red Hat Enterprise Linux, který je pro vývojáře zdarma. Vývojová verze GNOME Boxy již umožňuje jednoduše stáhnout a nainstalovat další linuxové distribuce. Ukázka na YouTube. Seznam distribucí a jejich verze, nastavení a cesty k ISO obrazům je udržován v knihovně a databázi libosinfo (GitLab).

Ladislav Hagara | Komentářů: 0
7.12. 03:33 | Nová verze

Google Chrome 63 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 63.0.3239.84 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře. Opraveno bylo 37 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 10
6.12. 22:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 147. brněnský sraz, který proběhne v pátek 15. prosince od 18:00 hodin v restauraci Severka na rohu Tučkové a Zahradníkové.

Ladislav Hagara | Komentářů: 0
6.12. 22:33 | Komunita

V roce 2013 byl představen projekt Debsources, jehož cílem bylo a je poskytnout webové rozhraní ke zdrojovým kódům balíčků obsažených v Debianu. Projekt doteď běžel na doméně debian.net. Dnes bylo oznámeno, že projekt byl přesunut na oficiální infrastrukturu Debianu. Služba Debian Sources nově běží na doméně debian.org. V plánů je řada vylepšení. Již dnes je ke službě k dispozici API a procházet lze také patche a licence.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 948 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Dotaz: c++ mocnina na n

    22.11.2012 17:28 marek33
    c++ mocnina na n
    Přečteno: 5037×
    Ahoj mám takový dotaz, v c++ jsem zkoušel vytvořit mocninu na n-tou, nevíte někdo jak na to ??

    Řešení dotazu:


    Odpovědi

    22.11.2012 17:34 chrono
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    V <cmath> je funkcia std::pow
    22.11.2012 17:52 marek33
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    myslel jsem pomocí funkce if
    22.11.2012 18:12 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Vyšel bych z: IF „hlad“ GOTO „lednice“
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    22.11.2012 18:14 Jary | skóre: 30 | blog: Jary má blog | Dům
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    if není funkce. A když už bys to rád dělal nějak divně složitě, proč to neuděláš pomocí operátorů & | ^?
    .sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
    22.11.2012 18:16 chrono
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Dalo by sa použiť aj if, ale rozumnejšie by mohlo byť for (a if pre n=0 alebo 1)
    22.11.2012 18:29 l4m4
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Chceš kód obsaující if? Chceš efektivní algoritmus pro celočíselné mocniny? Všechno lze zařídit!
    double mocnina(double x, int i)
    {
        double r = 1.0;
        if (!i)
            return 1.0;
        bool negative = false;
        if (i < 0) {
            negative = true;
            i = -i;
        }
        for ( ; ; ) {
            if (i & 1)
                r *= x;
            if (!(i >>= 1))
                break;
            x *= x;
        }
        return negative ? 1.0/r : r;
    }
    
    Jen nevím, jak budeš vysvětlovat, jak to funguje...
    22.11.2012 19:30 Radovan
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Pěkné, ale říká se "co je malé, to je hezké" :-D
    double mocnina(double x,int y)
           {
           return x*(y>1?mocnina(x,--y):1);
           }
    22.11.2012 19:43 l4m4
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Tam ovšem není žádný if. Cílem bylo mít tam nějaké ify ;)
    22.11.2012 20:02 Radovan
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    If tam je, jenomže maskovaný ;-)
    double mocnina(double x,int y)
           {
           if (y>1)
              return x*mocnina(x,--y);
           else
              return 1;
           }
    Ale jinak je to blbost dobrá akorát na hraní.
    22.2.2013 12:32 libco
    Rozbalit Rozbalit vše Re: c++ mocnina na n

    Je tam chyba.

    Má tam byť:

    else

    return x;

    22.2.2013 13:23 Vtipnéř | skóre: 33 | blog: Vtipnéřův blog | Brno
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Spíš

    if (y>0)

    Jirka
    Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is much more better.
    22.11.2012 19:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    "Hezké" možná, ale máte podstatně horší časovou složitost vůči exponentu a ještě budete muset spoléhat na inteligenci překladače, abyste se nedostal do problémů s přetečením zásobníku.
    22.11.2012 19:47 l4m4
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Jo, a samozřejmě tohle počítá mocnina(x, 1000000) pomocí 999999 násobení, kdežto mnou uvedený kód pomocí 27 násobení ;)
    23.11.2012 00:50 lertimir | skóre: 61 | blog: Par_slov
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Takhle to dopadne, když programátor kašle na výpočetní složitost algoritmů.
    23.11.2012 09:36 l4m4
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Popravdě řečeno, takle by ten algoritmus byl vhodný pro GMP (kde samozřejmě mocnina nějak podobně implementována je), protože tam je cena nějakých bitových operací a dokonce i podmínek zanedbatelná vůči ceně násobení dvou čísel, a především pro jiné typy než double, které zvládne __builtin_powi()...

    Jelikož jsou nejčastěji zapotřebí nízké mocniny, bylo by vhodné pro ně konkrétní výpočty zadrátovat -- a navíc to celé hodit do makra s __builtin_constant_p(), aby se to pro nízké předem známé mocniny optimálně inlinovalo.

    A když se bavíme o C++, tak lze ostatně téhož dosáhnout šablonou, kde je ta mocnina coby parametr, a specializací pro nízké mocniny. Akorát nevím, zda by tam pak byly nějaké ify ;)
    22.11.2012 19:36 Sten
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Když jde o C++, použil bych šablony, ať to počítá rovnou překladač :-)
    template <int base,
              int pow>
    struct mocnina
    {
        enum {
            value = base * mocnina<base, pow - 1>::value
        };
    };
    
    template <int base>
    struct mocnina<base, 0>
    {
        enum {
            value = 1
        };
    };
    
    23.11.2012 09:39 l4m4
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    error: template instantiation depth exceeds maximum of 900
    18.2.2013 17:16 Ivan
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Na MSVC je max hloubka rekurze sablon 2500. Na g++ je konfigurovatelna (je na to nejaky parameter).

    22.2.2013 23:18 potato
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Na druhé straně potřebuje-li kód úroveň vnoření šablon větší než 900, někde je cosi podezřelého...
    22.11.2012 21:22 rastos | skóre: 60 | blog: rastos
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    jsem zkoušel vytvořit
    Ano? A ako ďaleko si sa dostal?
    pavlix avatar 22.11.2012 23:29 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    A já myslel, že domácí úkoly se řeší samostatně.
    Řešení 3× (Xóža Hňabaj, Voty, Ash)
    23.11.2012 10:33 pesspi | skóre: 7 | blog: hateblog
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    int mocnina(int x,y) {
      if (y == 2) return x*x;
      if (y == 3) return x*x*x;
      if (y == 4) return x*x*x*x;
      if (y == 5) return x*x*x*x*x;
      if (y == 6) return x*x*x*x*x*x;
      if (y == 7) return x*x*x*x*x*x*x;
      if (y == 8) return x*x*x*x*x*x*x*x;
      if (y == 9) return x*x*x*x*x*x*x*x*x;
      if (y == 10) return x*x*x*x*x*x*x*x*x*x;
      if (y == 11) return x*x*x*x*x*x*x*x*x*x*x;
      if (y == 12) return x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 13) return x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 14) return x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 15) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 16) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 17) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 18) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 19) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      return x;
    }
    Je to najlepsia verzia lebo obsahuje najviac ifov. Pre profesionalnu verziu si na zaciatok mozes doplnit assert(y<20);
    23.11.2012 11:12 chrono
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Prípadne sa tam môže pridať ešte jedno if a rekurzia. :)
    18.2.2013 17:10 Pavel Kocman
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Dělávali jsme to pomocí for ciklu, tím mohla být mocnina doopravdy libovolná, ale už si nevzpomínám. Taky to potřebuju.
    22.2.2013 12:07 libco
    Rozbalit Rozbalit vše Re: c++ mocnina na n

    double mocnina_x(double cislo, int umocni_na)

    {

         int i, vysledok = 1;

         for (i = 1; i <= umocni_na; i++)

         vysledok *= cislo;

         return vysledok;

    }

    22.2.2013 17:36 Bill Gates
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Mozna by se to dalo jeste zoptimalizovat z pohledu delky kodu programu ... Treba na arduinu, kde obcas setrime kazdy bajt by byla lepsi verze ponekud modifikovana (viz nize), dle testovaci kompilace to vychazi pro arduino Mega o 228 bytu lip :) a 228 bajtu na arduinu = misto na plno dalsich funkci. Tedy za predpokladu ze potrebujeme nezbytne nutne pouzit ify :D

    void setup() {
    int x=10;
    int y=10;
    int q=mocnina(x,y);
    Serial.println(q);
    }
    
    int mocnina(int x,int y) {
      if (y == 2) return x*x;
      if (y == 3) return x*x*x;
      if (y == 4) return x*x*x*x;
      if (y == 5) return x*x*x*x*x;
      if (y == 6) return x*x*x*x*x*x;
      if (y == 7) return x*x*x*x*x*x*x;
      if (y == 8) return x*x*x*x*x*x*x*x;
      if (y == 9) return x*x*x*x*x*x*x*x*x;
      if (y == 10) return x*x*x*x*x*x*x*x*x*x;
      if (y == 11) return x*x*x*x*x*x*x*x*x*x*x;
      if (y == 12) return x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 13) return x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 14) return x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 15) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 16) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 17) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 18) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      if (y == 19) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
      return x;
    }
    
    void loop() { }
    

    Binary sketch size: 4,084 bytes

    void setup() {
    int x=10;
    int y=10;
    int q=mocnina(x,y);
    Serial.println(q);
    }
    
    int mocnina(int c,int y) {
      int x=c;
      if (y >= 2) x*=c;
      if (y >= 3) x*=c;
      if (y >= 4) x*=c;
      if (y >= 5) x*=c;
      if (y >= 6) x*=c;
      if (y >= 7) x*=c;
      if (y >= 8) x*=c;
      if (y >= 9) x*=c;
      if (y >= 10) x*=c;
      if (y >= 11) x*=c;
      if (y >= 12) x*=c;
      if (y >= 13) x*=c;
      if (y >= 14) x*=c;
      if (y >= 15) x*=c;
      if (y >= 16) x*=c;
      if (y >= 17) x*=c;
      if (y >= 18) x*=c;
      if (y >= 19) x*=c;
      return x;
    }
    
    void loop() { }
    
    
    Binary sketch size: 3,856 bytes

    22.2.2013 17:42 Kit
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    Zkus to ještě porovnat s tím, co napsal libco. 3,856 B mi připadá strašně moc.
    22.2.2013 18:09 Bill Gates
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    void setup() {
    int x=10;
    int y=10;
    int q=mocnina(x,y);
    Serial.println(q);
    }
    
    
    double mocnina(double cislo, int umocni_na)
    {
    int i, vysledok = 1;
    for (i = 1; i <= umocni_na; i++)
    vysledok *= cislo;
    return vysledok;
    }
    
    void loop() { }
    
    Binary sketch size: 4,068 bytes

    void setup() {
    int x=10;
    int y=10;
    int q=mocnina(x,y);
    Serial.println(q);
    }
    
    
    int mocnina(int cislo, int umocni_na)
    {
    int i, vysledok = 1;
    for (i = 1; i <= umocni_na; i++)
    vysledok *= cislo;
    return vysledok;
    }
    
    void loop() { }
    
    Binary sketch size: 3,454 bytes
    22.2.2013 18:21 Bill Gates
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    void setup() {
    int x=10;
    int y=10;
    int q=mocnina(x,y);
    Serial.println(q);
    }
    
    
    double mocnina(double x,int y) {
    return x*(y>1?mocnina(x,--y):1);
    }
           
    void loop() { }
    
    Binary sketch size: 3,950 bytes

    void setup() {
    int x=10;
    int y=10;
    int q=mocnina(x,y);
    Serial.println(q);
    }
    
    
    int mocnina(int x,int y) {
    return x*(y>1?mocnina(x,--y):1);
    }
           
    void loop() { }
    Binary sketch size: 3,474 bytes
    22.2.2013 18:57 Ivan
    Rozbalit Rozbalit vše Re: c++ mocnina na n
    A to co stenovo reseni? Vysledek vypocita kompilator behem kompilace a do zdrojaku dosadi primo konstantu:
    0000000000400578 <main>:
      400578:       48 83 ec 08             sub    $0x8,%rsp
      40057c:       48 be 00 e4 0b 54 02    mov    $0x2540be400,%rsi
      400583:       00 00 00
      400586:       bf 98 06 40 00          mov    $0x400698,%edi
      40058b:       31 c0                   xor    %eax,%eax
      40058d:       e8 d6 fe ff ff          callq  400468 <printf@plt>
      400592:       5a                      pop    %rdx
      400593:       31 c0                   xor    %eax,%eax
      400595:       c3                      retq
    
    0x2540be400 = 10^10

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.