#include<iostream>
using namespace std;
bool symmetry(int *a, int n)
{
int j = 1,count=0;
for (int i = 0; i < n; i++)
{
if (a[i] != a[n - j])
{
return false;
break;
}
else//a[i]=a[n-j]
count++;
j++;
}
int temp = (n - 1) / 2;
if (n % 2 != 0)
{
if (count == temp)
return true;
else
return false;
}
else
{
if (count == (n / 2))
return true;
else
return false;
}
}
int main()
{
int n,a[100];
cout << "enter n: ";
cin >> n;
for (int i = 0; i < n; i++)
{
cout << "a[" << i << "] = ";
cin >> a[i];
}
if (symmetry(a, n))
cout << "YES" << endl;
else
cout << "NO" << endl;
system("pause");
return 0;
}
mình viết chương trình tìm xem mảng(a,n) có phải là mảng đối xứng không. vd 1 2 3 2 1 là mảng đối xứng. mình viết được đoạn thế này thấy hợp lý nhưng khi chạy lại ra kết quả không đúng. không biết mình sai ở đâu ạ?
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?