Simon,

The problem is that you're generating infinities. That's what the program is trying to tell you.

Don was exactly correct in observing that you can't use "rational" numbers in the way you have.

Basically, when you write

This means

In your program.

This is because you didn't include a decimal point or other floating point indicator in your constants three (

**3**) and two (

**2**). So the compiler did exactly what you told it to do, which is to divide one integer by the other.

What got you is that dividing integers returns an integer result. Thus,

**3/2** is equal to the integer value one (

**1**), and not the floating point value one-and-a-half (

**1.5**).

So, if you want to write rational number style constants, you must include one of the floating-point forms that Don illustrated.

Good Luck!