Дано целочисленный массив из 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;
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 - это функция, меняющая значения местами. Её можно поменять на подходящий кусочек кода..
Лариса
Лучше всего, если Вы принципно не хотите использовать стандартную функцию, напишите свою.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов