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.
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?