Записать элементы массива X[N] в массив Y[N], сдвинув элементы массива Х влево на 3 позиции. При этом 3 элемента из начала массива Х перемещаются в конец. В массиве Y[N] перед первым четным элементом добавить элемент со значением -1. Использовать операторы ввода-вывода printf-scanf. Помогите, пожалуйста, составить программу или переделать мою.
#include <stdio.h>
#include <cstdlib>
#include <iostream>
int main(int argc, char** argv)
{
unsigned int X[100], Y[100];
int i, N, i1;
printf("\n N=");
scanf("%d", &N);
for (i = 0; i < N; i++)
{
printf("X[%d]=", i);
scanf("%d", &X[i]);
}
printf("\n");
for (i = 0; i < N; i++)
{
if (i < N - 3) Y[i] = X[i + 3];
else Y[i] = X[i - N + 3];
}
i1 = -1;
for (i = 0; i < N; i++)
{
printf("Y[%d]=%d\t", i, Y[i]);
if (Y[i] % 2 == 0) i1 = i;
}
if (i1 != 0)
{
printf("\n");
printf("Y[%d]=%d\n", i1, Y[i1]);
for (i = N; i > i1 - 1; i--)
Y[i] = Y[i + 1];
Y[i1] = -1;
N++;
for (i = 0; i < N; i++)
printf("Y[%d]=%d\t", i, Y[i]);
printf("\n");
}
else
{
printf("\n");
printf("There are not even elements \n");
}
return 0;
}
Ну для решение циклического сдвига есть std решение - std::rotate https://en.cppreference.com/w/cpp/algorithm/rotate
Вот пример кода
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
int main() {
std::vector<int> a{ 1, 2, 3, 4, 5, 6, 7 };
std::copy(std::begin(a), std::end(a), std::ostream_iterator<uint64_t>{std::cout, " "});
std::ostream_iterator<char>(std::cout, "") = '\n';
std::vector<int> b{ a };
std::rotate(std::begin(a), std::begin(a) + 3, std::end(a));
std::copy(std::begin(a), std::end(a), std::ostream_iterator<uint64_t>{std::cout, " "});
std::ostream_iterator<char>(std::cout, "") = '\n';
return 0;
}
for (i = 0; i < N; i++) {
if (Y[i] % 2 == 0) {
i1 = i;
break;
}
}
if (i1 != -1) {
for (i = N; i > i1; i--)
Y[i] = Y[i - 1];
Y[i1] = -1;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Прошу помочь знающих людей в решении данной задачи, так как мои полномочия на этом всё
Очень нужна помощь, создал приложение сервер которое создает канал и подключается к нему, но функция под вторым пунктом меню - ConnectNamedPipe, возвращает...
Как я могу создать массив структур внутри которой будут массивы других структур? Например: есть class students , мне нужна новая stuct theclass внутри которой...
Требуется изменить размер поля для галочки в QCheckBoxПробовал сделать это с помощью настройки стиля: