주어진 배열을 사용하여 정수 함수 포인터 배열에 대한 포인터를 반환하는 함수를 만드는 것이 작업입니다.
이를 위해 두 값을 입력하고 두 값을 모두 비교하는 함수와 더 큰 값의 메모리 주소를 반환하는 함수 포인터를 호출하고 결과로 인쇄합니다. 함수 포인터는 다른 시간에 다른 함수의 주소를 전달하는 데 사용되므로 함수를 보다 유연하고 추상적으로 만듭니다. 따라서 함수 포인터는 런타임 값을 기반으로 실행할 함수를 선택하는 간단한 방법을 제공하여 코드를 단순화하는 데 사용할 수 있습니다.
big() 함수 설명
프로그램은 전달된 두 정수 값을 비교하고 더 큰 값의 메모리 주소를 반환하는 함수 big( )을 참조하여 두 정수를 전달합니다. big( )의 반환 값은 0이 아닐 수도 있고 0 값일 수도 있는 정수 유형입니다.
예를 들어
입력 − 7 13
출력 − 더 큰 값은 13입니다.
입력 −8 6
출력 − 더 큰 값은 8입니다.
설명 − 두 개의 정수 값이 있고 비교 후 포인터는 둘 중 가장 큰 값의 메모리 주소를 반환합니다.
따를 수 있는 접근 방식
- 정수 포인터를 사용하여 int *c라고 가정해 보겠습니다.
- 그런 다음 두 개의 정수 변수를 초기화합니다.
- 그런 다음 두 값을 입력합니다.
- 주어진 두 값을 비교합니다.
- 마침내 포인터 *c는 더 큰 값의 주소를 반환합니다.
알고리즘
Start STEP 1-> Create the function and pass the argument. Int *big(int &, int &) END STEP 2-: call the main() function for entering and printing two values and initialize the pointer *c. int a, b, *c call c= big(a,b) print c END STEP 3-> compare the two Integer values passed to it and returns the memory address of the bigger value through pointer c. Comparing If(x>y) return(&x) else return(&y) END STOP비교
예시
#include<iostream.h> Int *big(int&, int&); Int main( ){ Int a, b, *c; c= big(4, 7); cout<<”The bigger value is”<<*c<<”\n”; return 0; } Int *big(int&x, int&y){ If(x>y) return(&x); else return(&y); }
출력
위의 프로그램을 실행하면 다음과 같은 출력이 생성됩니다.
The bigger value is 7 The bigger value is 5