[ peromalosutra @ 20.06.2005. 21:42 ] @
Pokusao sam da napravim program koji treba do pomnozi brojeve sa mnogo cifara (za sada do 1000). Tu sam naisao na 2 problema: 1. Zapis tako velikog broja u datoteci bi trebao biti neki niz byta koji ima clanova koliko i broj cifara. Tu onda nastaje problem oko ucitavanja. 2. Program koji sam ja napisao za sada moze da mnozi samo brojeve koji imaju isti broj cifara. Evo mog koda: Code: program mnozenje; uses wincrt; var a,b,p:array[1..2000] of byte; i,j:integer; buffer:text; function pomnozi (n:integer):integer; begin pomnozi:=a[n]*b[n] mod 10+ a[n]*b[n] div 10; end; begin assign (buffer,'input'); reset (buffer); i:=0; while not EOLN (buffer) do begin inc(i,1); read (a[i]); end; readln (buffer); i:=0; while not EOLN (buffer) do begin inc (i,1); read (b[i]); end; close (buffer); for j:=i downto 1 do p[j]:=pomnozi (j); assign (buffer,'output'); rewrite (buffer); for j:=1 to i do write (p[j]); close (buffer); end. Na koji nacin se onda rjesavaju zadaci ovakvog tipa? |