Нужна помощь в реализации цикл в списке по заданию
В списке содержится несколько нулей. Разместить их вначале через один элемент, первый, третий, пятый и т.д.
#include <iostream>
using namespace std;
struct Node // Узел
{
int value; // Значение узла (значение)
Node* next; // Следующий элемент узла
};
int main(int argc, char const* argv[]) {
setlocale(LC_ALL, "Rus");
Node* head = NULL; // голова списка
Node* tail = NULL; // последний элемент списка
int currentValue; // текущее значение
Node* newNode = 0; // текущий узел
int N;
cout << "Введите кол-во чисел в списке: ";
cin >> N;
for (int i = 0; i < N; i++) {
cout << "Введите число: ";
cin >> currentValue;
newNode = new Node();
newNode->value = currentValue;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
tail = newNode;
}
else {
tail->next = newNode;
tail = newNode;
}
}
Node* current = head; //Указатель на первый элемент списка (на голову)
cout << "\nСписок до изменений: \n";
while (current != NULL) {
cout << current->value << " ";
current = current->next;
}
cout << endl;
int m;
cout << "\nВведите числа с нулём: ";
cout << "\nЕсли 0 Разместить их вначале через один элемент, первый, третий, пятый и т.д.";
cout << "\nm = ";
cin >> m;
current = head;
Node* next = NULL; // Следующий элемент списка
Node* beginZero = NULL;
// реализовать цикл с 0
for (int i = 1; i <= N; i++) {
next = current->next;
}
current = head;
cout << "\nСписок после изменений: \n";
while (current != NULL) {
cout << current->value << " ";
current = current->next;
}
cout << endl;
return 0;
}