728x90 c언어 조합2 C언어 - 포인터 활용, call by value, call by reference 간단하게 설명하면 call by value는 변수의 값을 부르는 것이고 call by reference는 변수의 참고(주소)를 부르는 것이다. 사실상 C언어에서는 call by reference 보다는 call by address라고 보는 게 맞다. 공식적으로 C언어에서 call by reference를 지원하지 않는다. call by address를 통해 call by reference와 같이 사용할 수 있다. Call by value 함수의 매개변수에 인수의 실제 값을 복사한다. 이경우 함수 안에서 매개변수끼리 값이 변하기 때문에 실제 인수 값에 영향이 가지 않는다. 즉 Call by value 함수 내에서만 값이 변경되고 실제 인수 값은 변함이 없게 된다. 실제 값을 변경할 필요가 없는 경우에 사용.. 2020. 10. 16. C언어 - 조합 알고리즘 [nCr] 경우의 수 순열을 프로그래밍화 (나열, 카운팅) 조합이란? - 서로 다른 n개에서 순서를 고려하지 않고 r개를 선택하는 방법의 수 구현 방향 - n의 원소의 갯수가 늘어날 수록 for문의 중첩이 계속 늘어나야 한다. - for문으로 구현할 경우 중첩이 많아질경우 효율이 떨어지고 n과 r의 값이 변할때마다 코드를 수정해줘야한다. - 재귀함수를 사용해서 문제를 풀어보도록 하자. 코드 #include int arr[] = {1,2,3,4,5}; //전역 변수로 선언 int Copy[5]; //arr배열을 복사하기 위한 배열 void print_Comb(int count); void Combination(int n,int r,int c); void print_Comb(int count){ for(int i=0;i 2020. 7. 10. 이전 1 다음 728x90