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:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

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

    V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.

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

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1674 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Parametr C++

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