Using structures to find the GCD of a fraction (Simple C program) -
as title says, i'm making program find gcd of fraction. program has function find it, had run problems.
i want function accept 2 structure variables (denominator , numerator) , returns gcd (integer)
here's code:
#include <stdio.h>   struct fraction{     int numerator,denominator; };  int find_gcd(struct fraction s1, struct fraction s1);  int main(void) {     struct fraction d1;     int gcd;      d1.numerator= 20;     d1.denominator= 100;      printf("fraction: %d/%d\n",d1.numerator,d1.denominator);      gcd= find_gcd(d1.numerator, d1.denominator);     printf("in lowest terms: %d/%d",d1.numerator/gcd,d1.denominator/gcd); }  int find_gcd(struct fraction s1, struct fraction s1) {     int remainder=0;      while (s1.denominator !=0)     {         remainder = s1.numerator/s1.denominator;         s1.numerator= s1.denominator;         s1.denominator= remainder;     }      return s1.numerator;        //this gcd }   i following errors:
gcd_structures.c:8:50: error: redefinition of parameter 's1'  int find_gcd(struct fraction s1, struct fraction s1);                                                   ^ gcd_structures.c:8:30: note: previous definition of 's1' here  int find_gcd(struct fraction s1, struct fraction s1);                               ^ gcd_structures.c: in function 'main': gcd_structures.c:20:10: error: incompatible type argument 1 of 'find_gcd'      gcd= find_gcd(d1.numerator, d1.denominator);   any appreciated.
in signature of function, both of parameters named s1
fix that, perhaps renaming 1 of parameters s2
Comments
Post a Comment