2016-08-23 5 views
-2

제목에서 알 수 있듯이 분수의 GCD를 찾는 프로그램을 만들고 있습니다. 이 프로그램은 그것을 찾는 함수를 가지고 있지만, 나는 몇 가지 문제를 겪었다.구조체를 사용하여 분수의 GCD 찾기 (간단한 C 프로그램)

내가이 함수는 두 개의 구조 변수 (분모와 분자를) 수락 할 및 반환 GCD (정수)

다음

내 코드입니다 :

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' was here 
int find_gcd(struct fraction s1, struct fraction s1); 
          ^
GCD_structures.c: In function 'main': 
GCD_structures.c:20:10: error: incompatible type for argument 1 of 'find_gcd' 
    gcd= find_gcd(d1.numerator, d1.denominator); 
: 나는 다음과 같은 오류를 얻을 수

#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 is the gcd 
} 

도움을 주시면 감사하겠습니다. 매개 변수 모두가 아마 s2

+3

에 매개 변수 중 하나 이름을 변경하여 'find_gcd'이 구조를 취하고, s1

수정 명명 된,하지만 당신은'를 전달하는 함수의 서명에서 –

+1

두 매개 변수가 둘 다's1'이라면 첫 번째 매개 변수와 두 번째 매개 변수를 구별하는 방법은 무엇입니까? –

+0

고마워, 나는 바보 같아. – tadm123

답변

0

, int`s ... 오류를 읽어라! 그것은 당신을 위해 인쇄하고 있습니다.