Ahoj, hledám hodné duše, které by mi byly ochotné poradit..
Pracuji na programu, který načte polynomy ze souboru a umožní s nimi základní jednoduché operace - sčítání, odečítání, násobení a výsledek zapíše do výstupního souboru. Bohužel jsem se zasekla už na začátku při samotném načítání. Zvládám jen načtení jednotlivých členů polynomu (např. 2x^3), ale s celými polynomy včetně znamének mám již problém..
Vyučující programování mi sice poskytla program na sčítání polynomů, ale psaný v pascalu, takže mi je naprosto k ničemu, když nevím, jak se pracuje se strukturami v C. (Tedy alespoň předpokládám, že budu potřebovat struktury, resp něco, kam uložím jednotlivě koeficienty a stupně - vymyslela jsem sice, že nějaká ta struktura, pole, bude ukládat na 1. pozici koeficient prvního stupně, na 2. pozici koeficient druhého stupně atd., ovšem opravdu nevím, jak to v C zrealizovat.)
Byla bych vděčná za užitečnou a nápomocnou radu, případně za část kódu podobně fungujícího programu.
Fórum › C / C++
Polynomy v C
To mishakou : pokud se nemylim na polynomy by ti melo stacit pole.. zalezi jak velke polynomy nakonec budes zadavat... a nacitani je jednoduchy parser resp stavovy automat: na zacatku ocekavas nepovinne znamenko (-), pak nejakou sadu cisel (vcetne , nebo .), pak ^, a na zaver dalsi cislo (tentokrate jen cele cislo) (ukoncene mezerou nebo znamenkem +/- to samozrejme nechat pro zpracovani dalsiho clenu ), u posledniho clenu bude nekdy chybet ^exp (pokud to bude ^0)
jinak to muzes udelat jednoduchym lexikalnim parserem, nebo treba zkusit nadefinovat to jako jazyk ve flexu (lehky overkill)
ale mel by bohate stacit stavovy automat a nacitani po znaku + par promennych na ukladani dat
resp ono by mohlo jit i scanf("%f%c%d"..) (pripadne nacist celou radku a rozdelit si na jednotlive casti a ty pak nacist timto)
To KIIV :
parser, flex, overkill ... to si moc nepokecáme
Když načtu celý polynom fscanf(fr, "%s", &polynom1) - tak jak lze co nejjednodušeji rozdělit polynom na jednotlivé členy, aby se s ním dalo dále pracovat?
To Anonymní uživatel : to ti bude fungovat jen do doby nez ti tam nekdo nacpe mezery :D
lepsi nacist celej radek a pak uz si s nim delat co chces
(za predpokladu radek = 1polynom)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Program na polynomy — založil Markéta
Přepínání CSS — založil Petr
Vektory — založil Markos
Zjistěte, zda je dané kladné celé číslo prvočíslo. — založil Marek
Moderátoři diskuze