Дано целочисленный массив из n частей. Проверить, если массив является симметричным,

Дано целочисленный массив из n элементов. Проверить, если массив является симметричным, то в каждой из его половин поменять порядок частей на оборотный. В неприятном случае его половины поменять местами. С++

Задать свой вопрос
1 ответ
include lt;iostreamgt;
include lt;localegt;

using namespace std;

int main()

  setlocale(LC_ALL,"Rus");
  int n;
  cout lt;lt; "n = ", cin gt;gt; n;
  int *A = new int[n];
  cout lt;lt; "Пожалуйста, введите массив из "lt;lt; n lt;lt;" частей:\n";
  for (int i = 0; i lt; n; i++)
 
    cin gt;gt; A[i];
 
  cout lt;lt;"\nПолучившийся массив: [";
  for (int i = 0; i lt; n; i++)
 
    cout lt;lt; " " lt;lt; A[i];
 
 
  bool Simmetriya = true;
  for (int i = 0; i lt;= (int)(n/2); i++)
 
    if (A[i] != A[n-i-1])
   
      Simmetriya = false;
      break;
   
 
  cout lt;lt; (Simmetriya?" ] симметричен":" ] НЕ симметричен") lt;lt; "\n";
  if (Simmetriya)
 
    for (int i = 0; i lt; (int)(n/2); i++)
   
      for (int j = i; j lt; (int)(n/2); j++)
     
        swap(A[i],A[j]);
        swap(A[n-i-1],A[n-j-1]);
     
   
 
  else
 
    for (int i = 0; i lt; (int)(n/2); i++)
   
      swap(A[i],A[(int)(n/2)+n%2+i]);
   
 
  for (int i = 0; i lt; n; i++)
 
    cout lt;lt; A[i] lt;lt; " ";
 
  cout lt;lt; '\n';
  return 0;

Karina Tugunova
Огромнейшее спасибо Для вас
Толик
А как можно по-другому написать, чтоб без swap? :c
Кирилл
Swap - это функция, меняющая значения местами. Её можно поменять на подходящий кусочек кода..
Лариса
Лучше всего, если Вы принципно не хотите использовать стандартную функцию, напишите свою.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт