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

    Byla vydána nová verze 9.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Nově také pro NanoPi R3S, R3S LTS, R76S a M5. Přehled novinek v poznámkách k vydání.

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

    bat, tj. vylepšený cat se zvýrazňováním syntaxe a integrací s gitem, byl vydán ve verzi 0.26.0.

    Ladislav Hagara | Komentářů: 1
    včera 19:33 | Nová verze

    Byla vydána první verze 0.0.1 [Mastodon] multipatformního renderovacího jádra webového prohlížeče Servo (Wikipedie). Vývoj Serva započal v roce 2012 v Mozilla Corporation. V roce 2020 bylo Servo předáno nadaci Linux Foundation. Servo je napsané v programovacím jazyce Rust.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | IT novinky

    Cloudovou službu Amazon Web Services (AWS) americké firmy Amazon dnes postihl globální výpadek. Omezil dostupnost řady aplikací a webů, například populární platformu Snapchat nebo aplikaci s prvky umělé inteligence (AI) Perplexity. Podle webu Downdetector hlásily problémy také uživatelé obchodu Amazon, streamovací platformy PrimeVideo nebo platební služby PayPal.

    Ladislav Hagara | Komentářů: 6
    včera 13:33 | Zajímavý software Ladislav Hagara | Komentářů: 0
    včera 12:44 | Pozvánky

    Od 3. do 16. listopadu proběhnou Dny AI 2025. V úterý 11. listopadu proběhne Open source AI day v Red Hatu v Brně.

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

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

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Komunita

    Vývojáři GIMPu nově vydávají oficiální snap balíčky GIMPu. Jsou sestavovány přímo v jejich CI (Continuous Integration) systému.

    Ladislav Hagara | Komentářů: 10
    19.10. 15:22 | Nová verze

    Správce sbírky fotografií digiKam byl vydán ve verzi 8.8.0. Jedná se o převážně opravné vydání provázené aktualizacemi knihoven. Novinky zahrnují implicitní použití systémového barevného profilu monitoru, import/export hierarchie štítků, editační nástroj rozostření aj.

    |🇵🇸 | Komentářů: 1
    17.10. 13:22 | IT novinky

    Steve Jobs a superpočítač Cray-1 budou vyobrazeny na pamětních jednodolarových mincích vyražených v příštím roce v rámci série Americká inovace. Série má 57 mincí, tj. 57 inovací. Poslední 4 mince budou vyraženy v roce 2032.

    Ladislav Hagara | Komentářů: 15
    Jaké řešení používáte k vývoji / práci?
     (37%)
     (47%)
     (20%)
     (20%)
     (23%)
     (18%)
     (21%)
     (18%)
     (18%)
    Celkem 246 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    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: 243×
    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.