Упражнения на C ++: перегруппировка элементов заданного массива целых чисел зигзагообразным способом
C ++ Array: Упражнение 12 с решением
Напишите программу на C ++ для перегруппировки элементов заданного массива целых чисел зигзагообразным способом.
Примечание: формат зигзагообразного массива в форме a <b> c <d> e <f.
Пример решения:
Код C ++:
#include<iostream>
using namespace std;
void zig_zag_array(int nums[], int n)
{
bool ans = true;
for (int i=0; i<=n-2; i++)
{
if (ans)
{
if (nums[i] > nums[i+1])
swap(nums[i], nums[i+1]);
}
else
{
if (nums[i] < nums[i+1])
swap(nums[i], nums[i+1]);
}
ans = !ans;
}
}
int main()
{
int nums[] = {0, 1, 3, 4, 5, 6, 7, 8, 10};
int n = sizeof(nums)/sizeof(nums[0]);
cout << "Original array: ";
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
zig_zag_array(nums, n);
cout << "\nNew array elements: ";
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
return 0;
}
Пример вывода:
Исходный массив: 0 1 3 4 5 6 7 8 10 Новые элементы массива: 0 3 1 5 4 7 6 10 8
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Previous: написать программу на C ++ для обновления каждого элемента массива путем умножения следующих и предыдущих значений заданного массива целых чисел.
Далее: Напишите программу на C ++ для разделения четных и нечетных чисел массива целых чисел. Сначала ставьте все четные числа, а затем нечетные.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code