임의의 값 mod 5와 값 X와 배열의 위치의 double 배열을 감안할 때 위치의 값과 모든 이웃을 X로 변경해야합니다. 재귀 적으로 수행하고 있습니다. 나는 아이디어가 정확하다고 생각하지만, 재귀 호출을 사용하여 return 문과 할당을 망칠 것임에 틀림 없다. 언제 메모를 얻을 컴파일 : 예상 'INT **'하지만 인수는 유형 'INT (*) [8]'는 또한채우기 알고리즘 C - 이중 배열 반환?
내가 주에서 함수를 사용하는 경우, 내가 경고 얻을 : 통과 인수 1 호환되지 않는 포인터 유형에서 'floodfill'의 값 table = floodfill (table, i, j, r);
오류 : 배열 유형이있는 표현식에 할당 table = floodfill (table, i, j, r); 표 알고리즘
int ** floodfill (int **tab, int i, int j, int v)
{
/*if statement to make the values to the right of the specified position
equal to the specified value*/
if (tab[i][j+1] == tab[i][j])
{
/*the assignment is recursive*/
tab = floodfill (tab, i, j+1, v);
}
/*this assignment is executed after each of the values to the
right of tab[i][j] are changed to v*/
tab[i][j] = v;
/*returns the tab with the specified position changed*/
return tab;
}
실행되어야하는 테이블이다
분명 코드가 불완전 (더의 malloc없고, 아웃 - 오브 - 결합 위치에 대한 검사만을 오른쪽 값 플러드 필) 미국 간결을 기원하지만, 내 문제와 관련해서는 모든 것이 있어야합니다.
무엇이 질문입니까? 그건 확실하지 않아. – Carcigenicate
'table'은 어떻게 선언되어 있습니까? 2 차원 배열과 T 포인터에 대한 포인터를 혼동하고 있습니까? 경고는 그 경우를 나타냅니다. http://stackoverflow.com/questions/7586702/is-2d-array-a-double-pointer를 읽으십시오. –