Matematické Fórum

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

#1 19. 07. 2015 18:42

dodo949
Zelenáč
Příspěvky: 5
Pozice: student
Reputace:   
 

Kalkulačka dlhých čísel

Čaute :)

Potreboval by som od Vás pomoc s nasmerovaním. Mám za úlohu naprogramovať v Pascale kalkulačku dlhých čísel (pomocou poľa), ktorá vie sčítať, odčítať a násobiť. Základné princípy ovládam, no robí mi problém sčítať napríklad čísla s rôznym počtom cifier, taktiež čísla "s prechodom cez desiatku" (9+2 mi vyhodí ako 1). Čo sa týka samotného násobenia, tak to fakt nemám šajnu ako na to.

Za každú radu som vďačný :)

Offline

  • (téma jako vyřešené označil(a) dodo949)

#2 19. 07. 2015 19:24

mb305
Příspěvky: 126
Pozice: nadšený student, který se má více učit
Reputace:   
 

Re: Kalkulačka dlhých čísel

Ahoj,

vem si kus papíru a sečti si dvě čísla (pod sebe, tak jako se to učí na základní škole). Poté až to budeš programovat, tak do každé buňky pole ukládej právě jednu číslici.

U násobení můžeš udělat to samé. Opět jako na základní škole - tam jsme se učili násobit vynásobit cifrou na místě jednotek, a když jsme násobili cifrou na místě desítek, tak stačilo připsat na nový řádek 0 a opět násobit jen jednou cifrou. Takže rozdělení čísel po číslicích v jednotlivých buňkách se hodí ;-)

Offline

 

#3 19. 07. 2015 19:29

dodo949
Zelenáč
Příspěvky: 5
Pozice: student
Reputace:   
 

Re: Kalkulačka dlhých čísel

To mi je jasné, tak som to takto urobil :)
Nejako takto c[E]:=((a[E]+b[E]) mod 10) + ((a[E+1]+b[E+1]) div 10).
Problém nastáva pri prvých cifrách: napr: 5555 + 6666 = 2221 .. jednotka na miestne desaťtisícok chýba. Netuším ako to opraviť.

Offline

 

#4 19. 07. 2015 20:31

jarrro
Příspěvky: 5472
Škola: UMB BB Matematická analýza
Reputace:   303 
Web
 

Re: Kalkulačka dlhých čísel

urob si pomocne polia dlzky o jeden väcsej ako dlhsie cislo a na zaciatok (resp. koniec) daj nuly teda napr. miesto
9876431+12346
scituj
09876431+00012346


MATH IS THE BEST!!!

Offline

 

#5 20. 07. 2015 18:36 — Editoval dodo949 (20. 07. 2015 18:41)

dodo949
Zelenáč
Příspěvky: 5
Pozice: student
Reputace:   
 

Re: Kalkulačka dlhých čísel

ďakujem za rady, pomohlo mi to :) sčítavanie a odčítavanie funguje super :) nemali by ste nejaký typ na násobenie? Napadlo ma dvojrozmerné pole a z neho potom sčítať po riadkoch
   143
x 426
_____
        8 ,5, 8
    2, 8, 6
5, 7, 2
__________
6, 0, 9, 1, 8 => 143 * 426 = 60918

Nejaký ľahšie zrealizovateľný nápad? :)

Offline

 

#6 24. 07. 2015 10:05

dodo949
Zelenáč
Příspěvky: 5
Pozice: student
Reputace:   
 

Re: Kalkulačka dlhých čísel

Nejak som to už dokopal a funguje to.
Ďakujem za rady :)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson