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

C++에서 A[i]

세 개의 배열 A[], B[] 및 C[]가 제공됩니다. 목표는 A[i]

예를 들어 이해합시다.

입력 -

A[]={1,4,5 } B = { 0,2,3 } C = { 0,6,7 }

출력 − 세 쌍의 수 − 4

설명 -

Triplets such that A[i]<B[j]<C[k]
(1,2,6) , (1,2,7) , (1,3,6) , (1,3,7). Total 4 triplets.

입력

A[]={7,8,9} B = { 4,5,6 } C = { 1,2,3 }

출력 − 세 쌍의 수:0

설명 -

No Triplets that satisfy A[i]<B[j]<C[k]

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 임의의 숫자로 초기화된 동일한 길이의 정수 배열 A[], B[] 및 C[]를 사용합니다.

  • 변수 N을 사용하여 길이를 저장합니다.

  • countTriplets(int a[],int b[],int c[], int n) 함수는 3개의 배열을 모두 동일한 길이 n의 입력으로 사용하고 주어진 조건을 충족하는 트리플렛을 반환합니다.

  • 각 배열에 대해 3개의 루프를 사용하는 순회.

  • a[]의 경우 가장 바깥쪽 루프 0<=i

  • a[i]

  • 모든 루프의 끝에서 count는 a[i]와 같은 트리플렛을 가질 것입니다.

  • 결과로 카운트를 반환합니다.

예시

#include <bits/stdc++.h>
using namespace std;
int countTriplets(int a[],int b[],int c[], int n){
   int count = 0;
   for (int i = 0; i < n; i++){
      for (int j = 0; j < n; j++){
         for (int k = 0; k < n; k++){
            if(a[i]<b[j] && b[j]<c[k])
               { count++; }
         }
      }
   }
   return count;
}
int main(){
   int A[]={ 1,2,3}; int B[]={ 2,3,2}; int C[]={ 4,3,1};
   int N=3; //length of array
   cout <<endl<< "Number of triplets : "<<countTriplets(A,B,C,N);
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Number of triplets : 6