C언어 : 주어진 배열에 주어진 수가 포함되어 있는지 확인하는 함수 구현하기

조회수 2378회
#define _crt_secure_no_warnings
#define size 5
#include<stdio.h>
void GetIntArray(int* v, int n);
int Isinclude(int* v, int n, int val);

int main()
{
    int v[size];
    int n = 5;
    int val;

    printf("val를 입력해:");
    scanf("%d", &val);

    GetIntArray(&v, n);
    Isinclude(&v, n, val);
}
void GetIntArray(int* v, int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &v[i]);
    }
}

int Isinclude(int *v, int n, int val)
{
    int i;

    for (i = 0; i < n; i++)
    {
        if (v[i]==val)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}

배열 포인터형 매개변수로 전달된 배열 int v[ ]내에 정수 val이 포함되어 있는지를 검사하여 포함되어 있으면 1 아니면 0을 리턴하는 함수 int IsInclude(int *v, int n, int val)인 함수를 만들어야합니다.

(1,2,3,4,5) ,(2,3,4,5,6) 이렇게 두개로 입력이 들어갈 경우 출력이 2,3,4,5 이렇게 나와야하는데 어떻게 짜야할지 감이 안잡히네요.

도와주시면 감사하겠습니다.

1 답변

  • 제가 문제를 잘 이해한건지 모르겠지만.. 아래 순서로 작성하시면 될 것 같아요.

    1. 두 개의 배열을 입력 받아야합니다.
    2. 입력받은 배열 중 하나는 val로 사용하고 다른 하나는 v로 사용합니다.
    3. val을 이용해서 loop 를 돌며 isInclude를 실행합니다
    4. isInclude 가 1을 반환하면 값을 출력합니다.

    그리고 isInclude 함수가 첫 번째 인자만 비교해서 반환하는 부분 수정하셔야해요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)