【发布时间】:2021-05-25 08:18:45
【问题描述】:
我制作了这个程序来创建一个函数来检查整数数组是否是回文。它总是在每个输入上给出它不是回文的输出。你能帮帮我吗? 代码:
#include<iostream>
using namespace std;
void palindrome(int[],int[],int);
int main()
{
int size=5;
int array1[size];
int array2[size];
palindrome(array1,array2,size);
}
void palindrome(int array1[],int array2[],int size)
{
size=5;
int l=0;
cout<<"enter your array=";
for(int i=0;i<size;i++)
{
cin>>array1[i];
}
for(int i=0;i<size;i++)
{
array2[i]=array1[size-i];
}
if(array1==array2)
{
cout<<"given array is palindrome.";
}
else{
cout<<"given array is not palindrome.";
}
}
【问题讨论】:
-
使用
std::vector<int>而不是原始数组,它会起作用。在这里,您是在比较数组地址,而不是它们的内容。 -
1.您无法将数组与
==, 2 进行有意义的比较。参数是指针,而不是数组。在您最喜欢的 C++ 书籍中阅读有关数组的更多信息。
标签: c++ arrays user-defined-functions palindrome