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

C++의 대상 값 또는 조건과 일치하는 벡터의 요소 수 계산

<시간/>

벡터가 주어지고 목표 값이나 조건과 일치하는 벡터의 요소 수를 계산하는 작업입니다.

벡터는 크기를 변경할 수 있는 시퀀스 컨테이너입니다. 컨테이너는 동일한 유형의 데이터를 보유하는 객체입니다. 시퀀스 컨테이너는 요소를 엄격하게 선형 시퀀스로 저장합니다.

Vector는 연속적인 메모리 위치에 요소를 저장하고 아래 첨자 연산자 []를 사용하여 모든 요소에 직접 액세스할 수 있습니다. 배열과 달리 벡터는 런타임에 필요에 따라 축소하거나 확장할 수 있습니다. 벡터의 저장은 자동으로 처리됩니다.

런타임 시 축소 및 확장 기능을 지원하기 위해 벡터 컨테이너는 가능한 성장을 수용하기 위해 일부 추가 스토리지를 할당할 수 있으므로 컨테이너는 크기보다 더 큰 실제 용량을 갖게 됩니다. 따라서 벡터는 어레이에 비해 스토리지를 관리하고 효율적인 방식으로 동적으로 성장하는 기능에 대한 대가로 더 많은 메모리를 소비합니다.

Input − vector vec = {1, 2, 3, 4, 4, 4, 4}
      Target = 4
Output − count is: 4

설명 - 주어진 벡터에서 타겟은 4번 발생하므로 카운트는 4입니다.

Input − vector vec = {1, 2, 3}
      Target = 4
Output − count is: 0

설명 - 주어진 벡터에서 타겟은 0번 발생하므로 카운트는 0입니다.

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

  • 벡터를 입력하고 벡터 유형 변수에 저장합니다. vec

  • 목표값을 정수값으로 설정

  • 개수를 저장할 임시 변수를 가져옵니다.

  • C++ STL에서 사용할 수 있는 내장된 count 함수를 호출하고 vec.begin(), vec.end(), 함수 호출 대상을 전달합니다.

  • 결과를 인쇄하십시오.

예시

#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main(){
   vector<int> myvector{ 1, 2, 3, 4, 4, 4, 4, 4 };
   int target = 4;
   int res = count(myvector.begin(), myvector.end(), target);
   cout << "Target is: " << target << "\nCount is: " << res << endl;
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Target is: 4
Count is: 5