void division(int intInputDividend, int intInputDivider, int FloatingPointArray[], int count){ double result, divider, dividend, remainder; /* standard variable initalisation - pretty self explanatory*/ int loop, count1; count1 = 0; dividend = intInputDividend; divider = intInputDivider; count = count + 1; while ((result = dividend - divider) != 0 && count != 0 ){ /*checks to see if the remainder isn't equal to zero, and it has not reached the length of required doubleing points*/ if (result < 0){ FloatingPointArray[count1] = 0; while (count != 0){ for (loop = 1; (result >= divider); loop++){ result = result - divider; /* calculates the actual remainder from each time round the loop*/ } FloatingPointArray[count1+1] = loop; count = count -1; ++count1; } return; } for (loop = 1; (result >= divider); loop++){ result = result - divider; /* calculates the actual remainder from each time round the loop*/ } remainder = result; FloatingPointArray[count1] = loop; /* stores the result into the array*/ count = count - 1; /* decrement count*/ ++count1; /* increment second counter*/ if (remainder == 0){ while (count != 0){ FloatingPointArray[count1] = 0 ; count = count -1; ++count1; } break; } if (remainder < 1){ dividend = remainder; } if (remainder > 100 && remainder < 1000){ dividend = remainder * 100; } if (remainder > 0 && remainder < 100){ dividend = remainder * 10; /*prepare the dividend for the next time around the loop*/ } if (remainder > 1000 && remainder < 10000){ dividend = remainder * 1000; } } }