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í
×
    včera 18:33 | Nová verze

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.

    Petr Krčmář | Komentářů: 0
    včera 11:00 | Nová verze

    Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Nová verze

    Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    9.9. 22:22 | IT novinky Ladislav Hagara | Komentářů: 6
    9.9. 17:44 | IT novinky

    Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.

    Ladislav Hagara | Komentářů: 9
    9.9. 17:00 | Komunita

    DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.

    Ladislav Hagara | Komentářů: 4
    8.9. 21:11 | Zajímavý software

    Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 4
    8.9. 16:00 | Nová verze

    Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2638 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: inkrement a dekrement v c

    12.11.2014 20:25 jany2 | skóre: 30 | blog: jany_blog
    inkrement a dekrement v c
    Přečteno: 659×
    Příloha:
    Zacal som trocha s c jazykom, nie je mi to k zivotu potreba, ale uz v minulosti som sa do toho pustal a nejak mi to neslo, tak som sa rozhodol skusit to znovu. Mam knihu ucebnica jazyka c a je tam taka uloha, kde je potreba vyuzit inkrement a dekrement.

    Pochopil som to z knihy tak, ze ++i je najprv zvacseny o hodnotu 1 a potom je tato hodnota vratena ako nova hodnota. Zatial co i++ sa s nou pocita ako z "i" a az potom sa zvacsi o jednotku.

    Takze napr. (kod som vlozil ako priklad.c do prilohy), pretoze pri zadani kodu, ci uz medzi tagy "code", alebo, "pre" prip. aj cez nie wisiving, to stale hadzalo chybu. Cize dalsia podotazocka, ako vkladat v tejto poradni zdrojovy kod (vzdy som s tym mal problem, na inych forach to ide uplne bez problemov)

    Z toho vypliva, ze "a" by malo ostat na hodnote 2, "c" by sa malo zvacsit o 1, cize by malo mat hodnotu 2 a "e" by malo ostat na hodnote 4. Takze vysledok by mal byt f=(a/c)*e = (2/2)*4=4. V riadku 7 som si nechal vypisat hodnoty premennych (a,c,e) kde a=3, c=2, e=3, cize vysledok bude 4,5. Ak zameni a++ za ++a a ++c za c++ stale sa to zvacsi o 1 analogicky ci je --e, alebo e-- vzdy sa to znizi o hodnotu 1. Zrejme som nieco zle pochopil
    upozornujem, ze v linuxe som vecny zaciatocnik ...

    Řešení dotazu:


    Odpovědi

    clayman avatar 12.11.2014 21:19 clayman | skóre: 13 | Praha 6
    Rozbalit Rozbalit vše Re: inkrement a dekrement v c
    V knížce je to vysvětleno správně, ale ve smyslu toho, jak jsi ty prefix-, resp. postfixové increment operátory použil, mezi nimi není rozdíl. Rozdíl je třeba v tomto:

    int a = 1; int b = a++; int c = ++a;

    std::cout << "b = " << b << ", c = " << c << std::endl;

    Potom by výpis na posledním řádku vypsal

    b = 1, c = 3

    tj. v prvním případě se nejdřív hodnota přiřadí a potom inkrementuje, ve druhém případě je tomu naopak. V případě, že inkrement je jedinou operací v příkazu, dojde jen ke zvýšení hodnoty nezávisle na prefix/postfix povaze operátoru.
    12.11.2014 21:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: inkrement a dekrement v c
    Podotázka:

    Zápis
    <pre class="brush: c">
    #include &lt;stdio.h&gt;
    int main(void)
    { 
      float a=2, b=2, c=1, d=0, e=4, f; 
      printf(&quot;povodne hodnoty su:  a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n&quot;,a, b, c, d, e); 
      a++; ++c; e--; 
      printf(&quot;%.1f %.1f %.1f\n&quot;,a, c, e); 
      f=(a/c)*e; 
      printf(&quot;vysledok a++ / ++c * --e bude %f:\n&quot;,f ); 
      printf(&quot;nove hodnoty su:  a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n&quot;,a, b, c, d, e); 
      return 0; 
    }
    </pre>
    
    Ti dá:
    #include <stdio.h>
    int main(void)
    { 
      float a=2, b=2, c=1, d=0, e=4, f; 
      printf("povodne hodnoty su:  a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); 
      a++; ++c; e--; 
      printf("%.1f %.1f %.1f\n",a, c, e); 
      f=(a/c)*e; 
      printf("vysledok a++ / ++c * --e bude %f:\n",f ); 
      printf("nove hodnoty su:  a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); 
      return 0; 
    }
    
    Normální HTML, prostě jen nahradíš:
    & za &amp;
    < za &lt;
    > za &gt;
    " za &quot;

    Jsi to přečti, je to dole, při vkládání příspěvku napsané…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    12.11.2014 21:39 jekub
    Rozbalit Rozbalit vše Re: inkrement a dekrement v c
    Jak psal clayman
    a++; ++c; e--; 
    
    se vyhdonotí před použitím v následujícím příkazu. V tomto příkladu je tak úplně jedno, jestli "pre" nebo "post".

    Pro < a > musíte použít &lt a &gt; v náhledu komentáře k tomu máte dokonce tlačítka.
    # include <stdio.h>
    int main(void)
    { 
    float a=2, b=2, c=1, d=0, e=4, f; 
    printf("povodne hodnoty su:  a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); 
    a++; ++c; e--; 
    printf("%.1f %.1f %.1f\n",a, c, e); 
    f=(a/c)*e; 
    printf("vysledok a++ / ++c * --e bude %f:\n",f ); 
    printf("nove hodnoty su:  a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); 
    return 0; 
    } 
    
    13.11.2014 07:09 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: inkrement a dekrement v c

    Poznámka 1: Musím se přiznat, že jsem si musel vyzkoušet, jak se ty dva operátory vlastně u typu float chovají, protože mne dodnes nenapadlo je na něj použít.

    Poznámka 2: Odsazování (a rozumná úprava zdrojáků obecně) není samoúčelné, raději si na něj zvykněte hned od začátku.

    13.11.2014 16:28 jany2 | skóre: 30 | blog: jany_blog
    Rozbalit Rozbalit vše Re: inkrement a dekrement v c

    dakujem vsetkym

    upozornujem, ze v linuxe som vecny zaciatocnik ...
    13.11.2014 17:38 lertimir
    Rozbalit Rozbalit vše Re: inkrement a dekrement v c
    Jen poznámka 3. Nikdy jsem nepotřeboval prefix. Pro mne a++ vždy v podstatě nahrazovalo formuli a=a+1 s tím, že před inkrementem jsem proměnnou mohl použít jinak.

    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.