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.



 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 CLASS SỐ LỚN TRONG C++---- đề 01_ c++

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tesulakata
Quân hàm:Trung sĩ 1
Quân hàm:Trung sĩ 1
Tesulakata

Tổng số bài gửi : 141
Experience : 240
Đã được cảm ơn : 1
Join date : 18/05/2011
Age : 48
Đến từ : Heaven

CLASS SỐ LỚN TRONG C++---- đề 01_ c++ Empty
Bài gửiTiêu đề: CLASS SỐ LỚN TRONG C++---- đề 01_ c++   CLASS SỐ LỚN TRONG C++---- đề 01_ c++ Icon_minitimeThu Jul 07, 2011 9:52 pm

CLASS SỐ LỚN TRONG C++






Code:


#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include<conio.h>

using namespace std;

class BigNum {
      private :
                  string str;
      public  :
                  BigNum operator = (const BigNum b) {
                          str = b.str;
                          return (*this);
                  }

                  friend BigNum operator + (BigNum a,BigNum b) {

                          BigNum c;

                          while ( a.str.length() < b.str.length() ) a.str='0'+a.str;
                          while ( b.str.length() < a.str.length() ) b.str='0'+b.str;

                          int nho=0,t=0;

                          for(int i=a.str.length()-1; i>=0; i--) {
                                    t=a.str[i]-'0'+b.str[i]-'0'+nho;
                                    nho=t/10;
                                    c.str=char(t%10+'0')+c.str;
                          }

                          if (nho>0) {
                                    c.str=char(nho+'0');
                          }

                          return c;
                  }

                 
                friend BigNum operator - (BigNum a,BigNum b);////////////
                friend istream& operator >> (istream& is , BigNum& a) {
                          is >> a.str;
                          return is;
                }

                friend ostream& operator << (ostream& os , BigNum& a) {
                          os << a.str;
                          return os;
                }
};
BigNum operator - (BigNum a,BigNum b) {

                          BigNum c;

                          while ( a.str.length() < b.str.length() ) a.str='0'+a.str;
                          while ( b.str.length() < a.str.length() ) b.str='0'+b.str;

                          int nho=0,h=0,Sign=1;

                          if (a.str<b.str) {
                                  Sign=0;
                                  swap(a.str,b.str);
                          }

                          //cout << b.str << endl;

                          for(int i=a.str.length()-1; i>=0; i--) {
                                    h=a.str[i]-b.str[i]-nho;
                                    if (h<0) {
                                            nho=1;
                                            h+=10;
                                    } else nho=0;
                                    //cout << h << endl;
                                    c.str=char(h+'0')+c.str;
                          }

                          if (!Sign) {
                                c.str='-'+c.str;
                          }

                          while ( c.str.length()>1 && c.str.find('0') == 0 ) {
                                  c.str.erase(c.str.find('0'),1);
                          }


                          return c;
                  }
int main() {

      BigNum a,b;
      cin >> a;
      cin >> b;

      BigNum c;
      c=a+b;
      cout << c << endl;
      c=a-b;
      cout << c << endl;
    getch();
      return 0;
}

Mưa mới đau

ngồi trong nhà thì không thích
vừa kê được cái bàn ra giữa trời thì mưa

nhục quá đi
:dangthuong: [code]
Về Đầu Trang Go down
http://k14ktqs.cntt.in/
 

CLASS SỐ LỚN TRONG C++---- đề 01_ c++

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Cái class ma trận quái gì . ĐỀ 2 3 5 LINK MEDIAFIRE
» Gỡ bỏ IE9 trong windows7
» hậu quả của nói chuyện trong lớp
» Bộ ảnh nhận diện các bạn trong lớp
» Các tổ hợp phím tắt trong word...
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: ____________________Diễn Đàn Giải Trí____________________ :: Diễn Đàn :: Nhật kí hàng ngày của CNTTK14A!-
Chuyển đến