#include class liczba { public: enum {MAX=1002}; char d[MAX]; // przynajmniej int dl; // dlugosc w cyfrach // pierwsza cyfra jest najmniej znaczaca liczba() {clear();} static liczba add(liczba& a, liczba& b,int przes=0); static liczba sub(liczba& a, liczba& b); static liczba mul(liczba& a,int b); void wysw(int dl,char zn=0); void wczyt(); void clear() { for (int i=0;i='0')&&(c<='9')) { d[i++]=c-'0'; cin.get(c); } cin.unget(); dl=i; i--; int j = 0; while (i>j) { char t=d[i]; d[i]=d[j]; d[j]=t; i--; j++; } } void liczba::wysw(int dl, char zn=0) { int i=MAX-1,j; if (zn) dl--; while ((d[i]==0)&&(i>0)) i--; for (j=0;j=0;--j) { cout<b.dl+przes?a.dl+1:b.dl+przes+1; for (int i=0;i9?w-10:w; if (w>9) przen=1; else przen=0; } int ldl=a.dl>b.dl+przes?a.dl:b.dl+przes; if (wyn.d[ldl]==0) wyn.dl=ldl; else wyn.dl=ldl+1; return wyn; } liczba liczba::sub(liczba& a, liczba& b) { int przen=0; liczba wyn; int max=a.dl>b.dl?a.dl+1:b.dl+1; for (int i=0;ib.dl?a.dl:b.dl; if (wyn.d[ldl]==0) wyn.dl=ldl; else wyn.dl=ldl+1; return wyn; } void run() { int T,ldl,j,rdl; cin>>T; liczba a,b; liczba temp[500]; char oper,dummy; cin.get(oper); for (int i=0;ib.dl+1?a.dl:b.dl+1; for (j=0;jb.dl+1?a.dl:b.dl+1; for (j=0;j