Я столкнулся с этим вопросом в своих заметках: Учитывая массив целых чисел, напишите функцию, чтобы проверить, являются ли элементы в этом массиве палиндромами. Я работал над своим кодом, и он выглядит примерно так это:Отладка палиндрома C++
#include<iostream>
#include<cmath>
using namespace std;
bool is_a_palindrome(int integers[], int length){
int i;
int middle = floor(length/2);
//while (length != 0 && length > 0){
for (i = 0; i < middle; i++){
if (integers[i] != integers[length - 1 -i]){
return -2;
}
else{
return true;
}
}
}
int main(){
int array[4] = {1,2,2,1};
int length = 4;
is_a_palindrome(array, length);
}
Когда я запускаю код, я ожидаю получить либо 1
за то, что истинно или -2
для него ложные. На данный момент я ничего не получаю. Я не уверен, где проблема. Любая помощь приветствуется.
фиксированный код в соответствии с комментариями:
#include<iostream>
#include<cmath>
using namespace std;
bool is_a_palindrome(int integers[], int length){
int i;
int middle = floor(length/2);
//while (length != 0 && length > 0){
for (i = 0; i < middle; i++){
if (integers[i] == integers[length - 1 -i]){
return true;
}
else{
return false;
}
}
}
int main(){
int array[4] = {1,2,2,1};
int length = 4;
return is_a_palindrome(array, length);
}
Пожалуйста, разместите свой фактический код, а не скриншот. – CoryKramer
Нажмите [править], скопируйте свой код вместо ссылки на изображение, выберите часть кода вашего вопроса и нажмите кнопку '[{}]' в верхней части редактора. Нажмите [сохранить]. – dasblinkenlight
это напоминает мне [Почему эта программа ошибочно отвергается тремя компиляторами C++?] (Http://stackoverflow.com/questions/5508110/why-is-this-program-erroneously-rejected-by-three-c-compilers) –