Advertisement
Zung_the_great

[pascal] plus a big number (cộng số cực lớn trong pascal)

Feb 13th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. rogram plus_string_advance;
  2. uses crt;
  3. type
  4. int = integer;
  5. arr = array[1..100] of int;
  6.  
  7. var a,b,c : string;
  8. procedure inp;
  9. var i:int;
  10. begin
  11. writeln('a>=b');
  12. write('nhap so a: '); readln(a);
  13. write('nhap so b: '); readln(b);
  14. for i:=1 to length(a)-length(b) do
  15. b:='0'+b;
  16. end;
  17.  
  18. procedure pro(a,b:string);
  19. var d,i,j,k:int;
  20. code:int;
  21. i1,i2,kt:int;
  22. s :string;
  23. begin
  24. c:=' ';
  25. d:=length(a);
  26. j:=length(a);
  27. k:=length(a); kt:=0;
  28. repeat
  29. val(a[j],i1,code);
  30. val(b[k],i2,code);
  31. {write('i1: ',i1,' i2: ',i2,' ');}
  32. if code=0 then
  33. begin
  34. i:=i1+i2+kt; {writeln(i);}
  35. if i>=10 then begin
  36. i:=i mod 10;
  37. kt:=1;
  38. str(i,s);
  39. insert(s,c,length(c)+1);
  40. end
  41. else
  42. begin
  43. kt:=0;
  44. str(i,s);
  45. insert(s,c,length(c)+1);
  46. end;
  47. end;
  48. d:=d-1;
  49. j:=j-1;
  50. k:=k-1;
  51. until d=0;
  52. if kt=1 then c:=c+'1';
  53. write('c la: ');
  54. for i:= length(c) downto 1 do write(c[i]);
  55. end;
  56.  
  57. begin
  58. clrscr;
  59. inp;
  60. pro(a,b);
  61. readln;
  62. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement