I decided to use what we've learned so far and make this scenario:
#import "Fraction+Comparison.h"
@implementation Fraction (Comparison)
-(BOOL) isEqualTo:(Fraction *) f
{
[self reduce];
[f reduce];
if ( self.numerator == f.numerator && self.denominator == f.denominator)
return YES;
else {
return NO;
}
}
-(int) compare: (Fraction *) f
{
[self reduce];
[f reduce];
if ( (double)self.numerator / self.denominator > (double) f.numerator / f.denominator)
return -1;
else if ( [self isEqualTo:f] == YES)
return 0;
else {
return 1;
}
}
@end
Hope you enjoy!
Q