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 20:33 | IT novinky

    Noví Bulánci byli oficiálně vydáni. V roce 2021 bylo na Startovači na podporu vývoje této hry vybráno 7,3 miliónů Kč. Hra je zatím určena jenom pro Windows, díky Protonu ale běží také na Linuxu.

    Ladislav Hagara | Komentářů: 5
    včera 14:55 | IT novinky

    ChatGPT může vidět, slyšet a mluvit.

    Ladislav Hagara | Komentářů: 4
    včera 14:33 | Zajímavý software

    Upscaler je open source nástroj pro zvýšení rozlišení a vylepšení obrázků pomocí AI. Vývoj probíhá na GitLabu. Instalovat lze také z Flathubu. Stejně jako Upscayl je Upscaler postaven nad Real-ESRGAN.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.20.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    včera 11:55 | Komunita

    V Dublinu o víkendu proběhla dvanáctá iterace multimediální konference Video Dev Days, kterou pravidelně pořádá nezisková organizace VideoLAN. Záznamy přednášek z prvního a druhého dne jsou dostupné na YouTube.

    elenril | Komentářů: 0
    24.9. 20:44 | Nová verze

    LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), dospěl po pěti letech vývoje do verze 1.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.

    Ladislav Hagara | Komentářů: 0
    23.9. 16:55 | IT novinky

    Facebook má nové logo. Poznáte rozdíl?

    Ladislav Hagara | Komentářů: 8
    23.9. 15:55 | Nová verze

    Byla vydána nová verze 7.2 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Vyzkoušet lze online verzi. Před dvěma týdny vyšla placená verze pro chytré telefony a tablety (App Store, Google Play).

    Ladislav Hagara | Komentářů: 5
    22.9. 14:11 | Pozvánky

    Zítra 23. září proběhne Maker Faire Mladá Boleslav, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.9. 13:33 | Nová verze

    Byla vydána beta verze Ubuntu 23.10 s kódovým názvem Mantic Minotaur. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.10 mělo vyjít 12. října 2023.

    Ladislav Hagara | Komentářů: 10
    Knihy s linuxovou tematikou
     (19%)
     (15%)
     (50%)
     (27%)
    Celkem 275 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    Rozcestník

    Dotaz: Parametr C++

    4.12.2012 10:49 Tom
    Parametr C++
    Přečteno: 365×
    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.