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 15:55 | IT novinky

    První česká družice navržená a sestavená výhradně studenty se dostala na oběžnou dráhu Země. Družice KOSTKA, kterou vyvinul studentský tým YSpace z Vysokého učení technického v Brně (VUT), dnes odstartovala na palubě rakety Falcon 9 společnosti SpaceX v rámci mise Transporter-17 z kalifornské základny Vandenberg Space Force Base.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | IT novinky

    Po nákresech ovladače Steam Controller a puku společnost Valve na svém GitLabu publikovala projekt Inkterface, tj. podrobný návod (PDF, video v mp4) na sestavení předního panelu s e-papírovým displejem pro Steam Machine pro zobrazování systémových informací. Použity jsou součástky od společnosti Adafruit.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v dubnu letošního roku v upstreamu opravena kritická zranitelnost Bad Epoll aneb CVE-2026-46242. Jedná se o zranitelnost typu "race-condition use-after-free", která běžnému uživateli umožňuje získat práva roota. Na distribucích Linuxu i na Androidu. Dokonce i zevnitř sandboxu prohlížeče Chrome. Chyba byla do Linuxu zavedena v dubnu 2023, tj. Linux 6.4.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Nová verze

    Byla vydána nová verze 10.4 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Vyzkoušet lze experimentální podporu postkvantového algoritmu mldsa44-ed25519.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Zajímavý projekt

    Open Printer je otevřená kompaktní tiskárna od Open Tools. Brzy by měla být spuštěna kampaň na její podporu na Crowd Supply. Současně by měly být uvolněny zdrojové kódy. Postavena je na Raspberry Pi Zero W a STM32. Používá inkoustové kazety HP 302.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Nová verze

    Byla vydána nová verze 3.28.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 8 zranitelností.

    Ladislav Hagara | Komentářů: 0
    4.7. 23:33 | IT novinky

    Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.

    Ladislav Hagara | Komentářů: 7
    3.7. 03:55 | Nová verze

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 5
    3.7. 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

    Ladislav Hagara | Komentářů: 0
    3.7. 01:22 | Nová verze

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2069 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 493×
    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: 78 | blog: Jenda | 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: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ukoly v C [easy]
    To musíš dát do toho cyklu, co už máš…
    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: 78 | blog: Jenda | 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.