Вопрос по информатике:
Дано целочисленный массив из n элементов. Проверить, если массив является симметричным, то в каждой из его половин изменить порядок элементов на обратный. В противном случае его половины поменять местами. С++
- 23.04.2018 23:09
- Информатика
- remove_red_eye 1120
- thumb_up 45
Ответы и объяснения 1
#include
using namespace std;
int main()
{
setlocale(LC_ALL,"Rus");
int n;
cout <> n;
int *A = new int[n];
cout << "Пожалуйста, введите массив из "<< n <<" элементов:\n";
for (int i = 0; i < n; i++)
{
cin >> A[i];
}
cout <<"\nПолучившийся массив: [";
for (int i = 0; i < n; i++)
{
cout << " " << A[i];
}
bool Simmetriya = true;
for (int i = 0; i <= (int)(n/2); i++)
{
if (A[i] != A[n-i-1])
{
Simmetriya = false;
break;
}
}
cout << (Simmetriya?" ] симметричен":" ] НЕ симметричен") << "\n";
if (Simmetriya)
{
for (int i = 0; i < (int)(n/2); i++)
{
for (int j = i; j < (int)(n/2); j++)
{
swap(A[i],A[j]);
swap(A[n-i-1],A[n-j-1]);
}
}
}
else
{
for (int i = 0; i < (int)(n/2); i++)
{
swap(A[i],A[(int)(n/2)+n%2+i]);
}
}
for (int i = 0; i < n; i++)
{
cout << A[i] << " ";
}
cout << '\n';
return 0;
}
- 24.04.2018 03:51
- thumb_up 4
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.