Войти
Регистрация
Спроси ai-bota
В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Показать больше
Показать меньше
xellgf
05.06.2023 10:34 •
Информатика
Дано целочисленный массив из n элементов. проверить, если массив является симметричным, то в каждой из его половин изменить порядок элементов на обратный. в противном случае его половины поменять местами. с++
Ответ:
mihksy17
27.08.2020 01:48
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL,"Rus");
int n;
cout << "n = ", cin >> 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;
}
0,0
(0 оценок)
Популярные вопросы: Информатика
Ayazoro2
04.03.2022 02:13
Напишите программу, вычисляющую значение функции; {1 при x 0 y= {0 при x=0 {1 при x 0 пример данных: -5, 0, 5 пример вывода данных: y=-1, y=0, y=1 паскаль...
Abdueva
04.03.2022 02:13
Составьте программу. для вводимых с клавиатуры чисел определить количество положительных. ввод чисел прекращается, когда пользователь вводит 0....
avangardstroic
12.03.2023 16:20
Когда появилось книгопечатание, кто его изобретатель?...
Karamy33
27.07.2022 05:44
Как располагается текст на веб-странице...
Vikula2404
24.05.2021 12:29
3 яких етапів складається план створення презентації?...
eeee1931
24.07.2022 22:12
Определите значение переменной с после выполнения следующего фрагмента программы записанного в виде блок схемы:...
Eazyeazy
16.06.2020 23:42
1. Когда используется циклы с предусловием и постусловием? 2. В чём отличие этих циклов? 3. Объясните принцип работы цикла с параметром, постусловием, предусловием?...
Maksim77769
14.03.2021 16:30
3 155х- 3х+15169. Решите уравнение: 1)1) А2); 3)х+7 ,927248...
HelpmeTT
14.03.2021 16:30
Задание 18. Измените предложения по образцу. Например: Математик решил трудную задачу. Задача решена математиком. 1. Студент выполнил домашнее задание. 2. Повар...
diarryfokks
15.02.2021 08:19
Решите буду очень благодарен...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL,"Rus");
int n;
cout << "n = ", cin >> 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;
}