Re[4]: Сойдет? :-\
От: UgN  
Дата: 02.06.03 12:20
Оценка:
Здравствуйте, 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: Давай свой вариант, меряться будем!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.