저는 Intro to Programming 클래스를 사용하고 있습니다. 재료의 좋은 덩어리는 myProgrammingLab을 통해 우리 머리 속에 뚫려 있습니다. 나는 재귀의 개념에 약간의 문제가있다 ... 일종의 나에게 맞았다. 이 특별한 문제는 저를 곤란하게합니다. 코드를 제출하면myProgrammingLab "palindrome"challenge and recursion
CTest1.cpp: In function 'bool isPalindrome(int*, int)':
CTest1.cpp:9: error: invalid conversion from 'int' to 'int*'
CTest1.cpp:9: error: initializing argument 1 of 'bool isPalindrome(int*, int)'"
과 같은 조언을드립니다. 매우 도움이되지 않습니다. Lol
필자의 주요 문제는 실제 재귀가 발생할 때라고 생각합니다. 나는 무언가가 꺼져 있음을 알고 있습니다. 그러나 만약 당신이 올바른 방향으로 나를 가리킬 수 있다면, 나는 그것을 대단히 감사 할 것입니다.
A '어레이 회문'는 요소가 역순으로 배열은 동일하다 (즉, 순방향 주사 또는 뒤로 때 어레이의 요소들이 동일) 재귀, BOOL이 값
쓰기 함수, 정수로 평가 된 배열을 허용하는 isPalindrome 및 요소 수를 반환하고 배열이 회문인지 여부를 반환합니다.
배열 경우 회문이다 어레이 (0 요소) 비어 있거나 동일한 어레이의 최초 및 최종 요소 또는 (따라서, 반전 된 경우 동일 함) 하나 개의 요소를 포함 및 나머지 배열 (즉, 두 번째 요소부터 마지막 요소까지)은 회문을 형성합니다. 지금까지
내 코드 :
bool isPalindrome(int arr[], int n){
if (n == 0 || n == 1)
{
return true;
}
else if (arr[n-1] == isPalindrome(arr[((n-1) - n) +1 ], n))
{
return true;
}
else {
return false;
}
}
편집 :
지금 내 문제 라인을 변경 한 내가 힌트를 얻을 이제
else if (arr[n-1] == isPalindrome(arr[], n-1))
:
CTest1.cpp을 : 함수에서 'BOOL isPalindrome (INT *를 INT)' CTest1.cpp 9 오류 : 전에 예상 일차 식 '] 토큰
첫 번째 인수에서 대괄호가 비어 있기 때문에 두 번째 줄에 오류가 있습니까? 당신이 반복적으로 호출 할 때
'int arr [] '가 필요한 경우'arr [((n - 1) - n) +1]'이 무엇이라고 생각합니까? –
인수가 전체 배열을 원할 때 배열 요소를 전달합니다. – stark