Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Dobry den, nasla by se nejaka hodna duse, ktera by mi pomohla, popripadne nejakym zpusobem nasmerovala v mojem projektu.
Poradne jsem totiz nepochopil zadani, je tak trosku zvlastne napsane.
Zadani:
1. příklad – Zadání Implementujte třídu HugeInteger, které bude reprezentovat až 200 ciferné celé číslo. Pro tuto třídu implementujte metodu pro tisk v dekadickém tvaru, a ope- race sčítání, odečítání, násobení, celočíselné dělení a zbytek po celočíselném dělení. Tyto operace fungují stejným způsobem, jakým se provádějí na papír při písemném sčítání, odečítání, násobení a dělení. Pro efektivní výpočet je vhodné zvolit vhodný základ soustavy, ve kterém budete reprezentovat tato čísla. Je možné zvolit libovolný základ, od 10 na který jsme zvyklí až po takové číslo, aby se dala správně provádět operace násobení1 (např. 100, 1000, 10000). Poznámky • Program bude očekávat zadání vstupního a výstupního souboru pomocí parametrů příkazové řádky. VasProgram Vstup Vystup • Program pro otestování správné implementace bude číst ze vstupního sou- boru zadání příkladů a do výstupního souboru bude ukládat výsledky vý- počtů. Zadání příkladu bude vždy ve tvaru <velké číslo><mezera><operátor><mezera><velké číslo> tedy například 1234567890123 + 3210987654321 • Dělení lze sice provádět postupným odečítáním, ale tento postup je příliš náročný na procesor a velmi neefektivní na což bude brán při hodnocení zřetel. Implementujte radši proto dělení stejně jako se dělá na papír.
podle toho co jsem pochopil by program mohl fungovat nasledujicim zpusobem:
Program nacte jednotlivy znaky zadaneho cisla a po jednom je ulozi do pole o velikosti 200.
Ale ulozil by je napriklad jako 12345678912300000000000000000000000000000000000000000000000.... az do pole 200 nuly.
Pak bych to nejak (nevim jak) otocil aby to bylo 000000000000000000000000000000000000(nuly do 200)123456789123.
Pri zadavani cisla bych udelal nejake pocitadlo aby vedel po jaky prvek doleva az ma jit, at treba neskonci u nuly a za ni by bylo jeste dalsi cislo.
Kazde cislo by bylo v samostatnem prvku pole( 3jka napr na miste[199] ).
no a pak uz provadet operace jako scitani,odcitani,atd jako na papir : [prvek1 na 199] + [prvek1 na 199], sepise se dolu,kdyz > nez 9, [prvek1 na 198 vetsi o +1], atd az by to doslo na konec rady cisel...
nacitani ze souboru a ukladani do souboru uz mam hotove.
Jde mi o to ze poradne nevim jak udelat to, aby mi to zadane cislo bral po jednotliviych znakach a ukladal je na spravna mista do pole.
za jakekoliv rady bych byl nesmirne vdecny.
Offline
Stránky: 1