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 05:55 | Zajímavý projekt

V pátek byl představen projekt postmarketOS (GitHub). Cílem tohoto projektu je open source operační systém pro chytré telefony vycházející z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Operační systém postmarketOS by měl podporovat 10letý životní cyklus chytrých telefonů.

Ladislav Hagara | Komentářů: 8
včera 23:44 | Nová verze

Byla vydána verze 0.4.5 svobodného operačního systému ReactOS. Z novinek lze zdůraznit podporu kancelářského balíku Microsoft Office 2010. Podrobnosti v ChangeLogu.

Ladislav Hagara | Komentářů: 5
včera 23:11 | Komunita

Linphone 4.0 pro desktop přichází. Vývojáři tohoto multiplatformního open source VoIP a SIP klienta postupně představují nové vlastnosti. Verze 4.0 bude postavena na Qt [reddit].

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

Dle plánu byl měl Debian 9 s kódovým názvem Stretch vyjít v sobotu 17. června. Po celém světě se začínají plánovat Release Parties. Oznámeno bylo vydání čtvrté RC (release candidate) verze instalátoru pro Debian 9 Stretch.

Ladislav Hagara | Komentářů: 5
26.5. 22:22 | Komunita

V Norimberku probíhá do neděle 28. května openSUSE Conference 2017. Na programu je celá řada zajímavých přednášek. Sledovat je lze online. K dispozici jsou také videozáznamy (YouTube) již proběhnuvších přednášek. Dění lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 0
26.5. 11:33 | IT novinky

Red Hat kupuje společnost Codenvy stojící za stejnojmenným webovým (cloudovým) integrovaným vývojovým prostředím (WIDE) postaveném na Eclipse Che.

Ladislav Hagara | Komentářů: 0
26.5. 08:55 | Nová verze

V listopadu 2014 byl představen fork Debianu bez systemd pojmenovaný Devuan. Po dva a půl roce jeho vývojáři oznámili vydání první stabilní verze 1.0. Jedná se o verzi s dlouhodobou podporou (LTS) a její kódové jméno je Jessie, podle planetky s katalogovým číslem 10 464.

Ladislav Hagara | Komentářů: 15
25.5. 20:22 | Zajímavý článek

Nadace Raspberry Pi vydala již osmapadesáté číslo (pdf) stostránkového anglicky psaného časopisu MagPi věnovanému Raspberry Pi a projektům postaveným na tomto jednodeskovém počítači a druhé číslo (pdf) časopisu Hello World primárně určeného pro učitele informatiky a výpočetní techniky.

Ladislav Hagara | Komentářů: 0
25.5. 19:55 | Humor

Portál Stack Overflow informuje na svém blogu, že pomohl ukončit editor Vim už více než milionu vývojářů. V loňském roce například hledal odpověď na otázku Jak ukončit editor Vim v průměru 1 z 20 000 návštěvníků.

Ladislav Hagara | Komentářů: 15
25.5. 19:22 | Nová verze

Po pěti měsících od vydání verze 3.5.0 byla vydána nová stabilní verze 3.6.0, tj. první z nové řady 3.6, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie). Z novinek lze zmínit například podporu dvou nových 64bitových platforem little-endian POWER machines (ppc64le) a IBM z Systems (s390x) nebo nové balíčky Rust 1.17.0, Cargo 0.18.0, GHC 8.0.2 a Julia 0.5.2.

Ladislav Hagara | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (32%)
 (1%)
 (8%)
 (44%)
 (9%)
Celkem 634 hlasů
 Komentářů: 62, poslední 19.5. 01:57
    Rozcestník

    Dotaz: Ukoly v C [easy]

    Bundas avatar 2.1.2014 14:04 Bundas | skóre: 14 | Pardubice
    Ukoly v C [easy]
    Přečteno: 392×
    Ahojte vsichni. Ucim se C z jedne knihy. Ted tam mam na konci kapitoly ukoly. Vsechny sem vyresil az na posledni dva. Premyslel sem nad tim, ale opravdu nevim.

    Prvni ukol:

    Napiste program, ktery vypise hodnotu EOF

    Druhy ukol:

    Napiste program pro kopirovani vstupu na vystup, nahrazujici retezce jedne nebo nekolika mezer jednou mezerou

    Vim jak okopirovat vstup na vystup, ale nevim jak nahradit ty retezce.
    int main(void){
    
     int z;
    
     while((z = getchar()) != EOF){
     putchar(z);
     }
     return 0;
    
    }
    diky za pomoc
    Abe the Messiah has come.

    Odpovědi

    Jendа avatar 2.1.2014 14:27 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    bool space=0;
    if (z == ' ') {
      if(!space) {
        putchar(z);
      }
      space=1;
    } else {
      putchar(z);
      space=0;
    }
    
    Netestováno a neumím programovat.
    2.1.2014 14:45 DK
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    nahradit bool za int a je to ok
    Bundas avatar 2.1.2014 14:51 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    no, nejak mi tam chybi prikaz pro vstup.
    Abe the Messiah has come.
    Jendа avatar 2.1.2014 15:09 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    rADOn avatar 2.1.2014 15:39 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    …Netestováno a neumím programovat.
    Je to znát :-) Kdyz si misto priznaku (byla/nebyla mezera) budes drzet cely predchozi znak, tak se ti to podstatne zjednodussi.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    2.1.2014 14:50 axel
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    Napiste program, ktery vypise hodnotu EOF

    k tomu neni moc co poradit, predstav si temer identickou ulohu

    Napiste program, ktery vypise hodnotu 123

    a bude to jasne
    Bundas avatar 2.1.2014 14:52 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    Takze to bude
    printf("%EOF");
    ?
    Abe the Messiah has come.
    Jendа avatar 2.1.2014 15:11 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    Ne (man printf)

    putchar(hodnota EOF, kterou jsi zjistil v ASCII tabulce);
    rADOn avatar 2.1.2014 15:30 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    Ceckovy EOF neni znak v ascii tabuli, je to konstanta definovana v libc.

    Napoveda: getchar() vraci int a ne char.

    Napoveda pro pomalejsi: kdyby EOF byl platny znak, tak ceckove programy (vcetne rady dalsich programovacich jazyku ktere jsou v C napsany) mely celkem velky problem precist soubor ve kterem se takovy znak vyskytuje.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    2.1.2014 16:00 MadCatX
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    Jak pozoruji, máš problém pochopit rozdíl mezi znakem a hodnotou, která ten znak kóduje. Znak je celkem logicky to, co se vykreslí na obrazovku, hodnota znaku (jakkoliv to zní kostrbatě) je číslo, které ten znak reprezentuje. Text je v počítači reprezentován jako posloupnost bytů v paměti. Když třeba v C zavoláš
    char* str = "Ahoj!";
    printf("%s", str);
    
    bude se (zjednodušeně) dít toto: Funkce printf() bude číst řetězec "str" byte po bytu a podle použité převodní tabulky převádět ta čísla na znaky. Kdyby se použilo ISO-8895-1, provedl by následující kód toto:
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
        int i;
        char str[] = "Lama Glama!";
    
        for (i = 0; i <= strlen(str); i++) {
            int val = str[i];
            printf("%d => '%c'\n", val, str[i]);
        }
    
        return 0;
    }        
    
                   
    76 => 'L'
    97 => 'a'
    109 => 'm'
    97 => 'a'
    32 => ' '
    71 => 'G'
    108 => 'l'
    97 => 'a'
    109 => 'm'
    97 => 'a'
    33 => '!'
    0 => ''
    
    Používat putchar() na zjištění hodnoty znaku je tedy blbost, putchar() dělá pravý opak. Správný postup je tedy použít getchar() a vypisovat, co dostane. Hodnota EOF by měla být -1, na *NIXech se EOF z klávesnice dá vložit pomocí CTRL+D.
    martin-ux avatar 2.1.2014 20:38 martin-ux | skóre: 18 | Bratislava
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    EOF je zadefinovane macro, e.g. (BSD):
    $ grep EOF /usr/include/stdio.h
    #define	EOF	(-1)
    
    takze vypisat to vies napr.
    #include <stdio.h>
    
    int main() {
    
    #ifdef EOF
       printf ("yop, EOF is defined: %d\n", EOF);
    #else
       printf ("sorry, we don't have EOF defined\n");
    #endif
    
    	return 0;
    }
    
    no, a co sa tyka tej druhej ulohy, trosku sa potrap :). ako hint - ulozeny retazec budes prechadzat po znakoch a budes kontrolovat, ci dany znak je medzera.

    ..when you do things right, people won't be sure you've done anything at all..

    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.