I am having a problem trying to multiply arrays. Everything works fine until the second(bottom) number is more then 6 digits. Any help would be great.

Here is what I have:

Code:CHugeInt CHugeInt::operator*(const CHugeInt &n) { CHugeInt cTemp, cWork; int nCarry = 0; for (int y = 29; y >= 0; y--) { for (int i = 0; i <= 29; i++) { cWork.m_nInt[i] = 0; } for (int x = 29, a = y; x >= 0; x--, a--) { cWork.m_nInt[a] = ((m_nInt[x] * n.m_nInt[y]) % 10) + nCarry; nCarry = (m_nInt[x] * n.m_nInt[y]) / 10; } cTemp = cTemp + cWork; } return (cTemp); }