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 13:33 | Komunita

    Dle analytics.usa.gov je za posledních 90 dnů 6,2 % přístupů k webových stránkám a aplikacím federální vlády Spojených států z Linuxu.

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

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 3
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 13
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (24%)
     (22%)
     (4%)
     (6%)
     (2%)
     (4%)
     (4%)
     (33%)
    Celkem 49 hlasů
     Komentářů: 9, poslední dnes 15:56
    Rozcestník

    Dotaz: C++ cyklus

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

    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: 72 | 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: 72 | 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.