Diễn đàn câu lạc bộ
Bạn cần đăng nhập hoặc đăng kí để có thể gửi bài và sử dụng các chức năng của thành viên.

Join the forum, it's quick and easy

Diễn đàn câu lạc bộ
Bạn cần đăng nhập hoặc đăng kí để có thể gửi bài và sử dụng các chức năng của thành viên.
Diễn đàn câu lạc bộ
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tính tổng 2 số lớn (BT3 - STRING)

Go down

Tính tổng 2 số lớn (BT3 - STRING) Empty Tính tổng 2 số lớn (BT3 - STRING)

Bài gửi by tansonhn98 Sun Sep 16, 2012 10:31 pm

Đây là code của mình làm, các bạn tham khảo rùi cho ý kiến nha. (Nhớ vote nếu có ý định sử dụng code này)
Code:
program bt3;
uses crt;
var s1,s2,st1,st2,sht1,sht2,end1,end2,ts,tong,ns:string;
    i,dung,code,ht1,ht2,ti,ni:integer;
begin
clrscr;
write('S1= ');readln(s1);
write('S2= ');readln(s2);
dung:=length(s1);
if length(s1)<>length(s2) then
if length(s2)>length(s1) then dung:=length(s2) else dung:=length(s1);
tong:='';
for i:=1 to dung do
 begin
 ni:=0;
 end1:=s1[length(s1)];
 end2:=s2[length(s2)];
 val(end1,ht1,code);
 val(end2,ht2,code);
 val(ns,ni,code);
 ti:=ht1+ht2+ni;
 str(ti,ts);
 if length(ts)<>1 then ns:=ts[1] else ns:='0';
 insert(ts[length(ts)],tong,1);
 delete(s1,length(s1),1);
 delete(s2,length(s2),1);
 end;
if ns<>'0' then insert(ns,tong,1);
writeln('Tong= ',tong);
readln;
end.

Còn cái này là code của thầy
Code:
uses crt;
var s, num1, num2, result : string;
   i, j, remember, temp1, temp2, code1, code2 : integer;
begin
   clrscr;
   write('Nhap chuoi so thu nhat: '); readln(num1);
   write('Nhap chuoi so thu hai: '); readln(num2);
   
   result:='';
   remember:=0;
   i:=length(num1);
   j:=length(num2);
   while (i>0) and (j>0) do
   begin
      val(num1[i],temp1,code1);
      val(num2[j],temp2,code2);
      s:='';
      str((temp1 + temp2 + remember) mod 10, s);
      insert(s, result, 1);
      remember := (temp1+temp2 + remember) div 10;
      i:=i-1;
      j:=j-1;
   end;
   if i = 0 then
      while j>0 do
      begin
         val(num2[j],temp2,code2);
         s:='';
         str((temp2 + remember) mod 10, s);
         insert(s, result, 1);
         remember := (temp2 + remember) div 10;
         j:=j-1;
      end;

   if j = 0 then
      while i>0 do
      begin
         val(num1[i],temp1,code1);
         s:='';
         str((temp1 + remember) mod 10, s);
         insert(s, result, 1);
         remember := (temp1+remember) div 10;
         i:=i-1;
      end;
   if remember <> 0 then
   begin
      s:='';
      str(remember, s);
      insert(s, result, 1);
   end;

   write('Ket qua: ',result);

readln;
end.

Link download Mediafire:
[You must be registered and logged in to see this link.]
tansonhn98
tansonhn98
Học viên 3
Học viên 3

Tổng số bài gửi : 28
Điểm : 148
Danh tiếng : 12
Ngày tham gia : 08/08/2012
Tuổi : 26
Đến từ : Việt Nam

https://clbtin.forumvi.com/

Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết