C++. В общем нужна с кодом. Дано натуральное число n и целочисленный квадратный массив размера nхn. Найти номера строк, элементы которых образуют симметричные последовательности (палиндромы). Сформировать из этих строк новый массив и удалить их из начального массива. Решить задачу, пользуясь статическими массивами. Все что удалось родить:
#include
using namespace std;
int
main()
{
double a[20][20];
int n;
cout << "n: ";
cin >> n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> a[i][j];
}
}
cout << "massive: " << endl;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << a[i][j] << "\t";
}
cout << endl;
}
bool isPalindrom = true;
for (int i = 0; i < n; i++)
{
isPalindrom = true;
for (int j = 0; j < n / 2 && isPalindrom; j++)
{
if (a[i][j] != a[i][n - 1 - j])
{
isPalindrom = false;
}
}
if (isPalindrom)
{
cout << "Stroka s indeksom " << i << " is Palindrom" << endl;
}
else
{
cout << "Stroka s indeksom " << i << " isn`t Palindrom" << endl;
}
}
bool issPalindrom = true;
for (int i = 0; i < n; i++)
{
issPalindrom = true;
for (int j = 0; j < n / 2 && issPalindrom; j++)
{
if (a[j][i] != a[n - 1 - j][i])
{
issPalindrom = false;
}
}
if (issPalindrom)
{
cout << "Stolb s indeksom " << i << " is Palindrom" << endl;
}
else
{
cout << "Stolb s indeksom " << i << " isn`t Palindrom" << endl;
}
}
}
Я смог из массива удалить 1 строку, будь лишь 1 палиндром, но если их больше, то ничего не выходит. Поэтому ту часть кода я удалил.