Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 나머지 모든 요소의 합과 같은 요소

<시간/>

이 문제에서는 n개의 양수 값으로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 나머지 모든 요소의 합과 같은 요소 를 찾는 것입니다. 배열의.

코드 설명: 값이 해당 요소를 제외한 배열의 모든 요소의 합과 같은 요소를 찾아야 합니다.

문제를 이해하기 위해 예를 들어 보겠습니다.

입력: arr[] ={ 5, 4, 17, 1, 7 }

출력: 17

설명 -

나머지 요소의 합은 (5 + 4 + 1 + 7 ) =17이며 나머지 요소 17과 같습니다.

해결 방법 -

문제에 대한 간단한 해결책은 배열의 모든 요소의 합이 주어진 요소의 두 배라는 사실을 사용하는 것입니다. 이를 위해 다음 단계를 따릅니다.

1단계: 배열의 모든 요소의 합을 찾습니다.
2단계: 배열의 각 요소에 대한 루프,

2.1단계: arr[i] ==합계/2인 경우

2.1.1단계: 사실이면. 플래그 =1, 루프를 끊습니다.

2.2.1단계: 거짓이면 그대로 두십시오.

3단계: 플래그 ==1이면 arr[i]를 출력합니다.
4단계: 그렇지 않으면 "해당 요소를 찾을 수 없음을 인쇄하십시오. ".

우리 솔루션의 작동을 설명하는 프로그램,

예시

#include <iostream>
using namespace std;

void findElemenetInArray(int arr[], int n) {
   
   int arraySum = 0;
   int flag = 0, i;
   for (i = 0; i < n; i++)
      arraySum += arr[i];

   for (i = 0; i < n; i++)
      if ( (2*arr[i]) == arraySum ) {
         flag = 1;
         break;
      }
         
   if(flag)
      cout<<arr[i];
   else
      cout<<"No such element is found!";
   
}

int main() {
   int n = 5;
   int arr[n] = { 5, 4, 7, 1, 17 };
   findElemenetInArray(arr, n);
   return 0;
}

출력

17