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 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    včera 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    20.6. 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    20.6. 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    20.6. 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    20.6. 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    20.6. 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

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


    Dotaz: C++ cyklus

    2.9.2011 14:43 ubka
    C++ cyklus
    Přečteno: 753×

    Dobry den,

    v premmenej string mam zadefinovanych viac slov a potreboval by som jednotlive slova v cykles pouzit ako premenne.

    priklad:   premenna="peter martin jano fero"

    a program by postupne vypisal:

    ahoj peter

    ahoj jano a podobne

     

    dakuje za radu


    Řešení dotazu:


    Odpovědi

    2.9.2011 15:36 l4m4
    Rozbalit Rozbalit vše Re: C++ cyklus
    Nejsnáze použitím boost::split, což ti dá vector stringů.

    Šíleně, leč velmi C++-ově vytvořením strstreamu z premenna a čtením toho streamu po slovech.

    Nebo prostě jako v C.
    2.9.2011 23:07 _____ | skóre: 5 | blog: Poznámky
    Rozbalit Rozbalit vše Re: C++ cyklus

    To Boost řešení by vypadalo takhle:

    #include <boost/foreach.hpp>
    #include <boost/algorithm/string.hpp>
    #include <iostream>
    #include <vector>
    
    using namespace std;
    using namespace boost::algorithm;
    
    int main()
    {
        string premenna="peter martin jano fero";
        vector<string> jmena;
        
        split(jmena, premenna, is_any_of(" "), token_compress_on); 
        
        BOOST_FOREACH(const string &jmeno, jmena) {
            cout << "ahoj " << jmeno << "\n";
        }
        
        return 0;
    }
    
    2.9.2011 15:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: C++ cyklus
    Třeba takto? :-)
    #include <iostream>
    #include <string>
    #include <sstream>
    #include <algorithm>
    #include <iterator>
    #include <vector>
    
    
    void pis(std::string &str) {
      std::cout << "Vitaj z hub " << str << ", kde mas ceren?" << std::endl;
    }
    
    void vypisto(std::string &str)
    {
      std::istringstream iss(str);
      std::vector<std::string> slova;
      copy(std::istream_iterator<std::string>(iss),
           std::istream_iterator<std::string>(),
           std::back_inserter<std::vector<std::string> >(slova));
      //pozadovany cyklus :)
      for_each (slova.begin(), slova.end(),pis);
    
    }
    
    int main() {
      std::string tosplit = "peter martin jano fero";
      vypisto(tosplit);
    }
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.9.2011 11:12 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: C++ cyklus
    Mas tam chybu ;-)

    s/hub/ryb/ alebo s/ceren/kosik/
    Project Satan infects Calculon with Werecar virus
    2.9.2011 15:38 malformed | Praha
    Rozbalit Rozbalit vše Re: C++ cyklus
    vlozit do string streamu a pak nad tim iterovat:
    
    int main()
    {
        std::string names("peter martin jano fero");
        std::istringstream iss(names);
    
        typedef std::istream_iterator<std::string> iss_iterator;
    
        for(iss_iterator it(iss); it != iss_iterator(); ++it)
            std::cout << "ahoj " << *it << std::endl; 
    
        return 0;
    }
    
    2.9.2011 16:12 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ cyklus
    Nebo to z toho streamu lze rovnou číst pomocí >>
    2.9.2011 19:47 yuukimaru
    Rozbalit Rozbalit vše Re: C++ cyklus
    cili nejak takto:
    std::string names("peter martin jano fero");
    std::istringstream iss(names);
    std::string sub;
    
    while(iss >> sub){
        std::cout << "ahoj " << sub;
    }
    
    3.9.2011 13:50 ubka
    Rozbalit Rozbalit vše Re: C++ cyklus
    dakujem vsetky za radu velmi mi to pomohlo
    3.9.2011 16:31 a
    Rozbalit Rozbalit vše Go cyklus
    package main
    
    import "fmt"
    import "strings"
    
    func main() {
            a := "peter martin jano fero"
            for _, s := range strings.Split(a, " ") {
                    fmt.Printf("ahoj %s\n", s)
            }
    }
    
    3.9.2011 18:48 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Go cyklus
    Obávám se, že se svou představou o syntaxi C++ u překladačů moc pochopení nenaleznete…

    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.