C incompatible pointer types passing 'int **' to parameter of type 'int **(*)[9]' [-Wincompatible-pointer-types]

조회수 543회
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int pang[9][9]={0};
int answer=0;

void check(int** data,int i,int j,int** visited,int count)
{
    if(data[i+1][j]==data[i][j] && pang[i+1][j]==0)
    {
        visited[i+1][j]=1;
        count+=1;
        check(data,i+1,j,visited,count);
    }
    if(data[i-1][j]==data[i][j] && pang[i-1][j]==0)
    {
        visited[i-1][j]=1;
        count+=1;
        check(data,i-1,j,visited,count);
    }
    if(data[i][j+1]==data[i][j] && pang[i][j+1]==0)
    {
        visited[i][j+1]=1;
        count+=1;
        check(data,i,j+1,visited,count);
    }
    if(data[i][j-1]==data[i][j] && pang[i][j-1]==0)
    {
        visited[i][j-1]=1;
        count+=1;
        check(data,i,j-1,visited,count);
    }   
    if(count>=3)
    {
        for(int i=1;i<8;i++)
        {
            for(int j=1;j<8;j++)
            {
                if(visited[i][j]!=0)
                {
                    pang[i][j]=1;
                }
            }
        }
        answer+=1;
    }
}

int main()
{
    int data[9][9]={0};
    printf("입력 : ");
    for(int i=1;i<8;i++)
    {
        for(int j=1;j<8;j++)
        {
            scanf("%d",&data[i][j]);
        }
    }

    for(int i=1;i<8;i++)
    {
        for(int j=1;j<8;j++)
        {
            int visited[9][9]={0};
            int count=0;

            check(data,i,j,visited,count);
        }
    }
    printf("%d",answer);
    return 0;
}

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

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

(ಠ_ಠ)
(ಠ‿ಠ)