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

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 1
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    13.1. 21:33 | Nová verze

    Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.

    Ladislav Hagara | Komentářů: 5
    13.1. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (45%)
    Celkem 434 hlasů
     Komentářů: 12, poslední včera 21:12
    Rozcestník

    Dotaz: Nacteni matematickeho vyrazu do pole stringu [c++]

    Bundas avatar 19.8.2014 16:57 Bundas | skóre: 14 | Pardubice
    Nacteni matematickeho vyrazu do pole stringu [c++]
    Přečteno: 252×
    Ahojte vsichni. Posledni dobou se snazim prijit na pro mnohe z vas urcite jednoduchou vec. Potrebuju napr. tento matematicky vyraz: 2 * 0 + 333 / 50 / 0 - 5 = nacist do pole stringu (co index, to znak (napr pole[2] == 0, pole[4] == 333 atd)). Nevite nekdo jak to udelat? zkousel sem spoustu veci.. napr toto:

    string matematicky_vyraz[100];
    ofstream soubor;
    soubor.open("dafuq", ios::in);
    int a =0;
    while(true){
    soubor >> matematicky_vyraz[a];
    if(matematicky_vyraz[a].compare("=") == 0) break;
    a++;
    }
    soubor.close();

    predem diky za pomoc
    Abe the Messiah has come.

    Odpovědi

    Bundas avatar 19.8.2014 17:39 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Nacteni matematickeho vyrazu do pole stringu [c++]
    ted sem si vsiml, ze tady mam ofstream místo ifstream. V programu to mam napsane spravne.
    Abe the Messiah has come.
    19.8.2014 17:43 MadCatX
    Rozbalit Rozbalit vše Re: Nacteni matematickeho vyrazu do pole stringu [c++]
    Předpokládám, že nechceš každý znak jako jeden prvek v poli, ale každý člen a operátor jako jeden prvek v poli? To je celkem jednoduché. Načteš celý výraz do stringu, pojedeš znak po znaku. Mezery přeskočíš, číslice budeš přidávat do pomocného stringu, a když narazíš na znak matematického operátoru, parsování přerušíš. Pomocný string uložíš do pole (v C++ bys měl daleko spíš použít std::vector). Tohle budeš opakovat, dokud nenarazíš na "=". Není mi úplně jasné, k čemu je tohle dobré, sice ten výraz rozsekáš na kousky, ale stejně je pak budeš muset projít všechny znova, převést členy na čísla, vyřešit prioritu operátorů, atd... Já bych to asi parsoval a rovnou vyhodnocoval nějak rekurzivně.

    Jinak "správně" se infixové matematické výrazy parsují třeba takto: http://en.wikipedia.org/wiki/Shunting-yard_algorithm Tím se výraz převede na postfixový, který se strojově vyhodnocuje jednodušeji.
    Bundas avatar 19.8.2014 17:52 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Nacteni matematickeho vyrazu do pole stringu [c++]
    jak mam nacist cely vyraz do stringu?
    Abe the Messiah has come.
    19.8.2014 19:33 Sten
    Rozbalit Rozbalit vše Re: Nacteni matematickeho vyrazu do pole stringu [c++]
    19.8.2014 19:32 Sten
    Rozbalit Rozbalit vše Re: Nacteni matematickeho vyrazu do pole stringu [c++]
    Pokud jde o to jej vyčíslit a nejsou tam proměnné, může být jednodušší to rozparsovat na haldu (strom) tak, že operátor s nejnižší prioritou bude navrchu a pod ním operátory s vyšší prioritou, v listech potom samotné hodnoty. Vyčíslení se provede rekurzí.

    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.