私は大学でこの演習を割り当てられましたが、再帰構造(コードの「???」)を実装する方法がわかりません。ifサイクルでは、配列の最初の文字を最後の文字と一致させ、中央の文字に到達するために再帰を適用する必要がありますが、コードの設定方法がわかりません。主な機能コードは完全にコンパイルされます。
#include <iostream>
using namespace std;
const int DIM = 8;
bool is_palindrome (char* first, char* last)
{
if (first == last)
{
???
}
else
return false;
}
int main()
{
char a[DIM] = {'i','n','g','e','g','n','i','\0'};
char *first = &a[DIM] + 1;
char *last = &a[DIM] -1;
if (is_palindrome(first, last))
cout << " the char array is palindrome ";
else
cout << " the char array is not palindrome ";
return 0;
}