/*
作業七1. 不同計算機系統中所能表示的證書的範圍不同。如在乙個32位的機器上,
乙個long型別的整數範圍是-231~231-1。在某些應用中,需要處理比這個範圍大得多的整數。
不同的大整數的長度(數字位數)可能差別較大,請基於stl庫中的list容器(雙向鍊錶)實現乙個大整數類bigint.
*/#include "bigint.h"
void main()
//bigint.cpp
#include "bigint.h"
bigint operator+ (bigint a, bigint b)
if ( temp !=0 )
}return c;
}bigint operator- (bigint a,bigint b)}}
iter_end_a = a.minint.end();
iter_end_b = b.minint.end();
int temp=0;
int remainder = 0;
while ( (iter_a != a.minint.end()) || (iter_b != b.minint.end()) )
else
remainder = temp%1000;
temp = temp/1000;
if ( remainder < 0 )
c.minint.push_back(remainder);
c._size += 3;
c._minintsize++;
if(iter_a != iter_end_a) iter_a++;
if(iter_b != iter_end_b) iter_b++;
}if (flag==0) c.changemark();
return c;
}void bigint::changemark()
.//bigint.h
#include
#include
#include
#include
using namespace std;
typedef list::iterator intiterlist;
class bigint ;
bigint(const bigint& other):minint(other.minint),_minintsize(other._minintsize),_size(other._size){};
bigint(string);
int size()
friend bigint operator+ (bigint,bigint);
friend bigint operator- (bigint,bigint);
int minintsize()
void print();
void changemark();
private:
listminint;
int _minintsize;
int _size;
};inline void bigint::print()
cout << endl;
}inline bigint::bigint(string str):_size(0)
minint.push_back (temp);
temp = 0;}}
c 第七次作業
定義乙個有10個的陣列a,將陣列a中的所有素數放在陣列b,再對陣列b排序 include using namespace std void sort int p 陣列排序 bool prime int x 素數判斷 void print int p 輸出陣列 int main int b 10 i,...
C 第七次作業
需改進完善之處 1.關於介面可再優化 2.介面放大時,無法自動聚焦 按鈕等控制項無法均勻分布在螢幕上 3.計算結果示值無法像正常計算器那樣 如 standard answer 1 200,answer 2 200.00 4.計算準確率有待提高 5.部分有待模組化 6.有關其他功能 開方乘方等 有待增...
c 第七次上機作業
專案1 陣列素數排序 定義乙個有10個的陣列a,將陣列a中的所有素數放在陣列b,再對陣列b排序 include using namespace std void sort int p,int n 陣列排序 bool prime int x 素數判斷 void print int p,int n 輸出...