problem z przecinkami

0

Mam problem z programem. Mianowicie napisałem program do dodawania dużych liczb:

PROGRAM DODAWANIE;
VAR
L1,W,L2:STRING;
P,K,M:BYTE;
BEGIN
READLN(L1);
READLN(L2);
WHILE LENGTH(L1)LENGTH(L2)
DO IF LENGTH(L1)0 DO
BEGIN
K:=P+ORD(L1[M])+ORD(L2[M])-96;
P:=K DIV 10;
W:=CHAR( K mod 10+48)+W;
M:=M-1;
END;
IF P=1 THEN W:='1'+W;
WRITELN(W);
END.

*Program działa poprawnie ale chciałem go zmodyfikować *dodając mozliwosć liczb z przecinkiem. I oto wynik mojej pracy:

PROGRAM DODAWANIE2;
VAR
L1,W,L2:STRING;
P,K,M:BYTE;
BEGIN
READLN(L1);
READLN(L2);
WHILE POS(',',L1)POS(',',L2) DO
IF POS(',',L1)

0

Duże liczby? to dla czego używasz byte? jest real, jego używaj.

0

Za to kocham asm. Mogę dodawać i odejmować liczby prawie tak duże jak ilość dostępnej pamięci :)
Co do twojego kodu, to działanie na łańcuchach nie jest najszybsze, ale jeżeli już tak bardzo chcesz, to proponuję ściągnać moduł z torry: integer_asm.pas Umożliwia operacje na liczbach nieskończenie długich.

0

Zobacz do działu 'Gorące tematy'. Tam jest kawałek mojego kodu do obsługi 300bitowych liczb (bez problemu można przerobić na dowolnie wielkie liczby - zmieniając jedną stałą).

1 użytkowników online, w tym zalogowanych: 0, gości: 1