Помогите понять кoд
Заданы действительные числа x1, x 2,..., x16.
Получить x1, x 3,...,x15, x2, x4,..., x16.
#include <iostream>
#include<windows.h>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int arr[16]{ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int temp;
int s ;
for (int i = 0, j = 1; j < 16; j += 2, i++) {
temp = arr[j];
for (s = j; s > i; s--) {
arr[s] = arr[s - 1];
}
arr[i] = temp;
}
for (int i = 0; i < 16; i++
) {
cout << arr[i] << "\t";
}
}
Ответы (1 шт):
Автор решения: Иван Павлов
→ Ссылка
Каким образом происходит перемещение четных чисел в правую сторону, а нечетных в левую. В переменную temp записывается поитерационно (каждый раз как проходит цикл for) одно значение нечетного числа массива arr, далее меняется сам массив и сдвигается вправо на одну позицию, начиная с того места, где была взята переменная temp, потом та переменная, что была сохранена в temp записывается в начало массива arr[i] = temp(нечетное число).
А потом просто массив целиком выводится на экран. Если что непонятно спрашивай.