C+|四進法加算(演算子再ロード)

1668 ワード

ししんかさん
時間制限:1 Sec
メモリ制限:128 MB
コミット:421
解決:280
[コミット][ステータス][ディスカッション]
タイトルの説明
4進数のクラスを定義し、「+」番号を再定義して4進数の累積を実現します.
入力
1行目に必要な4進数の個数を入力
2行目から順に4進数を入力
しゅつりょく
すべての入力四進数の合計
サンプル入力
3
13
2
21
サンプル出力
102
#include
#include
#include
 
#define N 16
 
using namespace std;
 
 
class quan
{
protected:
    char num[N];
 
public:
    quan()
    {
        num[0]='0';
        num[1]=0;
    }
    quan(char *n)
    {
        strcpy(num,n);
    }
    quan(quan &a)
    {
        strcpy(num,a.num);
    }
    void reserve(char *str)
    {
        int len , i = 0;
        char temp;
         
        len = strlen(str);
        for (i = 0; i < len / 2; i++)
        {
            temp = str[i];
            str[i] = str[len - i - 1];
            str[len- i - 1] = temp;
        }
        str[len]=0;
    }
    void fillZero(char *str)
    {   
        int len=strlen(str);
        for(int i=len; i='4')
                carry=1,sum.num[i]-=4;
        }
        reserve(sum.num);
        return sum;
    }
    void set(char *n)
    {
        strcpy(num,n);
    }
    void show()
    {
        cout << num;
    }
 
};
 
 
 
int main()
{
    int t,i;
    char n[N];
 
    cin >> t;
    quan ans;
    quan *num = new quan[t];
 
    for(i=0; i> n;
        num[i].set(n);
 
        ans = ans + num[i];
    }
    ans.show();
    return 0;
}