다음과 같은 프로그램을 만들려고합니다. 배열의 길이를 입력하라는 메시지가 표시됩니다. 그런 다음 배열이 만들어지고 임의의 숫자로 채워지며, 그 길이는 사용자가 처음에 지정한 것입니다. 그 후 배열의 어떤 숫자가 짝수인지를 결정하는 getEvenNumbers
이라는 함수를 생성해야합니다. 완료되면 int main
은 getEvenNumbers
을 호출하고 발견 된 모든 짝수를 인쇄합니다. 여기에 내가 지금까지 가지고있는 코드가 있습니다 :배열에있는 모든 짝수를 반환하십시오.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void getEvenNumbers(int *, int *);
int main()
{
int i, j, k, N, w, size, *tab, *tabPtr = 0, *sizePtr = 0;
printf("Enter the desired length of the array: ");
scanf("%d", &N);
size = N;
sizePtr = &size;
tab = (int *)malloc(sizeof(int)*size);
srand(time(0));
for(i = 0; i < size; i++)
{
j = rand();
tab[i] = j;
}
tabPtr = &tab[0];
printf("The array created is:\n");
for(k = 0; k < size; k++)
printf("%d\t", *(tabPtr+k));
printf("\n\n");
getEvenNumbers(tabPtr, sizePtr);
printf("The pair numbers are:\n");
for(w = 0; w < *sizePtr; w++)
printf("%d\t",*(tabPtr+w));
return 0;
}
void getEvenNumbers(int *tab, int *sizePtr)
{
int i = 0, w = 0;
for(i = 0; i < *sizePtr; i++)
{
if(tab[i]%2 == 0)
{
tab[w] = tab[i];
w++;
}
}
}
임의의 주어진 길이의 무작위 배열을 성공적으로 생성했습니다. 그러나, 그 배열에있는 모든 짝수를 반환하는 데 어려움을 겪고 있습니다. 누군가가 왜 짝수를 반환하지 않는지에 대해 밝힐 수 있습니까?
"페어 번호"는 무엇을 의미합니까? – BG100
죄송합니다, 실수를했습니다. 제가 진정으로 말하고자하는 것은 "짝수"였고 쌍은 아니 었습니다. –