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

두 번 이상 나타나는 배열 요소?

<시간/>

여기서 우리는 한 가지 문제를 보게 될 것입니다. 하나의 배열이 있습니다. 우리의 임무는 빈도가 1보다 큰 요소를 찾는 것입니다. 요소가 {1, 5, 2, 5, 3, 1, 5, 2, 7}이라고 가정합니다. 1번은 2번, 5번은 3번, 2번은 3번, 나머지는 1번만 발생했습니다. 따라서 출력은 {1, 5, 2}

가 됩니다.

알고리즘

moreFreq(arr, n)

 arr의 각 요소 e에 대해 int 유형 키와 int 유형 값으로 맵 정의를 시작하고 각 키에 대해 map.key(arr).value를 증가시킵니다. 값이 1보다 큰지 확인한 다음 keyEnd를 인쇄합니다. 

예시

#include #include 
네임스페이스 std;void moreFreq(int arr[], int n){ map freq_map; for(int i =0; isecond> 1) cout <first <<" "; }}int main() { int arr[] ={1, 5, 2, 5, 3, 1, 5, 2, 7}; 정수 n =sizeof(arr)/sizeof(arr[0]); cout <<"둘 이상의 빈도:"; moreFreq(arr, n);}

출력

둘 이상의 빈도:1 2 5