C에서 특정 원소가 배열에 몇 번 나왔는지 계산하려면 어떻게해야합니까? 그런 다음 그 수를 사용자에게 표시하는 방법은 무엇입니까?배열에있는 원소의 개수를 계산하는 방법
예를 들어 배열이 {1, 2, 2, 2, 3}
인 경우 2
이 3 번 나타나는 코드를 작성한 다음 사용자에게 표시하려면 어떻게해야합니까?
C에서 특정 원소가 배열에 몇 번 나왔는지 계산하려면 어떻게해야합니까? 그런 다음 그 수를 사용자에게 표시하는 방법은 무엇입니까?배열에있는 원소의 개수를 계산하는 방법
예를 들어 배열이 {1, 2, 2, 2, 3}
인 경우 2
이 3 번 나타나는 코드를 작성한 다음 사용자에게 표시하려면 어떻게해야합니까?
모든 요소 만 계산하려는 경우 : 배열에 제한된 범위의 정수가 포함될 수 있다고 가정하면 첫 번째 배열의 최대 항목 길이를 다른 배열로 선언하십시오. 첫 번째 배열을 반복하고 두 번째 배열 색인의 위치를 첫 번째 배열만큼 증가시킨 다음 두 번째 배열을 인쇄하십시오.
의사 코드 :
int nums[] = {1,2,2,2,3};
int counts[10]; // assume entries in nums are in range 0..9
for(i = 0; i < length of nums; ++i)
{
num = nums[i];
if(num < 0 or num >= length of counts)
handle this somehow
++counts[num];
}
for(i = 0; i < length of counts; ++i)
{
printf("%d occurs %d times\n", i, counts[i]);
}
만 특정 값을 계산하려면 다음
int count_in_array(int value, int* array, int length)
{
int count = 0;
int i;
for(i = 0; i < length; ++i)
{
if(array[i] == value)
++count;
}
return count;
}
...
int nums[] = {1,2,2,2,3};
printf("%d occurs %d times\n", 2, count_in_array(2, nums, 5));
아 감사합니다. –
'for (i = -; i <길이; i ++ i)' – BLUEPIXY
http://rapidpurple.com/blog/tutorials/c-tutorials/programming-in-c -arrays-and-loops/ –
일부 코드 또는 가상 코드 또는 생각이나 시도에 대해 게시하려고 시도해야합니다. 제 제안은 종이에 직접 (기계라면) 어떻게 할 것인지 작성하는 것입니다. 그런 다음 코드로 변환 할 수 있는지 확인하십시오. 확실히 번역본에 딸꾹질이 생길 것입니다. 그렇지만 생각할 수있는 더 작고 구체적인 질문이 있습니다. – rliu
배열에서 발생할 수있는 값의 범위에 제약이 있습니까? 단지 1000 이하의 양수 값이라면, 이것은 간단합니다. 즉, 카운트의 두 번째 배열 만 있으면됩니다. 가능한 값이 발생할 수 있다면 그렇게 간단하지 않습니다. – Bull