abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

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

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

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

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 4
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 25
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (18%)
    Celkem 674 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Parametr C++

    4.12.2012 10:49 Tom
    Parametr C++
    Přečteno: 371×
    Ahoj, mohu Vas poprosit o radu. Mejme funkci
    int vypis( const char * roky)
    a parametr muze obsahovat
    2012
    2012 - 2014 // interval, tj 2012,2013,2014
    "2012, 2014, 2016"
    jak prosim tyto parametry dostanu do promenne nebo spis do pole? Nebo jak to lze resit? Bile znaky vynechat. Dekuji

    Odpovědi

    4.12.2012 11:03 Tom
    Rozbalit Rozbalit vše Re: Parametr C++
    char hotovo[1000];
    for (unsigned int i=0; i< strlen (roky); i++) {
        if(roky[i] == ' ') 
            mezera++;
        else 
            hotovo[i-mezera] = roky[i];
    }
    
    4.12.2012 13:03 Ivan
    Rozbalit Rozbalit vše Re: Parametr C++
    To vypada spis jako Ccko. v C++ by to spis melo byt:

    "int vypis( const std::string &roky)"

    A z toho samozrejme vyplyne, jestli na "parsovani" pouzites postupy z Ccka anebo C++.
    4.12.2012 14:20 michi
    Rozbalit Rozbalit vše Re: Parametr C++
    No...co mě napadá nejjednodušší, dostat to do funkce jako řetězec a ten potom univerzálně rozdělit do částí podle čárek, čímž získáš pole, a z toho pole potom každou položku zkoumat na rozsah, ze kterýho zjistíš začátek a konec a do konečnýho pole doplníš buď začátek, konec a prvky mezi tím, nebo čistej jeden rok. Vyloučení duplicit bych dělal třeba namapováním do mapy... Ale to je jen taková rychlá úvaha :-)
    4.12.2012 14:35 michi
    Rozbalit Rozbalit vše Re: Parametr C++
    A narychlo jsem to upekl v Ruby, kvůli tomu principu :-)
    #!/usr/bin/env ruby
    
    vstupy = [ "2012", "2012 - 2014", "2012, 2014-2016, 2018" ]
    
    def vypis(vstup)
            vystup = [ ]
            prvky = vstup.split(',')
            prvky.each {|p|
                    p = p.split('-')
                    if p.length == 1 then
                            vystup << p[0].to_i
                            next
                    elsif p.length == 2 then
                            zacatek = p[0].to_i
                            konec = p[1].to_i
                            zacatek.upto(konec) {|y| vystup << y }
                    else
                            throw :parseError
                            exit
                    end
            }
    
            puts "Vstup #{vstup}:"
            vystup.each {|v| puts v }
            puts
    end
    
    vstupy.each {|i| vypis(i) }
    
    ===========
    
    Vstup 2012:
    2012
    
    Vstup 2012 - 2014:
    2012
    2013
    2014
    
    Vstup 2012, 2014-2016, 2018:
    2012
    2014
    2015
    2016
    2018
    
    
    4.12.2012 16:29 mch
    Rozbalit Rozbalit vše Re: Parametr C++
    Ja bych zkusil neco jako:

    istringstream ss;

    ss.str(roky);

    vector <unsigned int> roky_pole;

    // nacitej jak z std::cin

    // ss >> ... rovnou do pole nebo do pomocne promene a pak roky_pole.push_back()

    + samozrejme rozlisit ty ruzne vstupy, pomuzou treba metody peek(), std::skipws, testovani proudu (good(), eof(), ...) a podobne vecicky

    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.