• FEATURED

View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# i

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

2 replies to this topic

### #1aeleneski  Banned

Posted 17 December 2001 - 01:09 PM

i [Edited by - aeleneski on April 24, 2006 11:23:05 PM]

### #2Anonymous Poster_Anonymous Poster_*  Guests

Posted 17 December 2001 - 02:30 PM

This function would probably be extremely slow but heres one solution I think

int numerator, denomenator; // set these to something
int smallest; // holds the smaller of the two variables
int gcf; // greatest common factor

// determine which number is smallest, doesn''t matter if equal
if ( numerator >= denomenator )
{ smallest = numerator; }
else
{ smallest = denomenator; }

for ( int i = smallest; i > 0; i++ )
{
// if both numbers divide evenly, then it is divisible by i
if ( ( numerator % i == 0 ) && ( denomenator % i == 0 ))
{ gcf = i; }
}

I''m still learning C++ so if there are any more complex functions to do this I am unaware of them.

### #3Floppy  Members

Posted 17 December 2001 - 02:54 PM

Here''s some source code I made a while ago:
 ` // Utilitiesvoid rational::simplify() // Simplify rational{ double x=gcd(num, denom); num/=x; denom/=x;}long rational::gcd(long x, long y) // Find greatest common divisor{ x=labs(x); // long absolute value y=labs(y); while(x != y) { if(x

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.