Здравствуйте, UgN, Вы писали:
BU>>P.S. Так значит, тебе в 400 символов укатать слабо?
UgN>Считай сам, сколько символов...
UgN>UgN>char*sum(char*A,char*B,int X,int Y,int*Z){
UgN>int e=strlen(A)+1,f=strlen(B)+1,g=max(e,f)+1;char*C=new char[g];
UgN>do{char*pc=C+g;*pc=(e?*(A+--e):0)+(f?*(B+--f):0);*(pc-1)=*pc/10;*pc%=10;}while (--g);
UgN>*Z= X^Y;return C;}
UgN>
Типа исходник. Для проверки алгоритма. Особо не напрягался, поэтому мог и накосячить, да и оптимизировать еще можно.
Но ломает...
char* sum ( char* pszA, char* pszB, int ASign, int BSign, int* pResSign )
{
int ALen = strlen( pszA ) + 1;
int BLen = strlen( pszB ) + 1;
int CLen = max( ALen, BLen ) + 1;
char* pszC = new char[ CLen ];
do
{
char *pc = pszC + CLen;
*pc = ( ALen?* ( pszA + --ALen ) : 0 ) + ( BLen ? *( pszB + --BLen ) : 0);
*(pc - 1) = *pc/10;
*pc %= 10;
} while( --CLen );
*pResSign = ASign^BSign;
return pszC;
}
2BUran: Давай свой вариант, меряться будем!!!