The concept is just to take each step, just like you would if you were multiplying by hand:

Code:

12345
x 8
======
8 * 5 = 40 answer[0] = 0, carry = 4
8 * 4 = 32 answer[1] = (carry + 2) = 6, carry = 3
8 * 3 = 24 answer[2] = (carry + 4) = 7, carry = 2
8 * 2 = 16 answer[3] = (carry + 6) = 8, carry = 1
8 * 1 = 8 answer[3] = (carry + 8) = 9, carry = 0
=================================================
answer = 98760

When your multiplier (bottom number) is two digits or longer, you have to watch your columns in the answer array, more closely. You may even want to use an array for each digit in the multiplier, and then add them up at the last step.

Since you have to multiply through once for every digit in the multiplier, you need to put the multiplier for loop, as your outer loop in your nested for loops. Your multiplicand loop will be the inner loop:

Code:

for(each digit in the multiplier) { //bottom number loop (multiplier)
for each digit in the multiplicand) { top number loop (multiplicand)
//code for your multiplication goes here
}
}