Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2022, 20:56   #1
slava_q9
Пользователь
 
Регистрация: 03.03.2022
Сообщений: 14
По умолчанию В списке содержится несколько нулей. Разместить их вначале через один элемент, первый, третий, пятый и т.д.

Нужна помощь в реализации цикл в списке по заданию

Код:
#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;
}
slava_q9 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В списке содержится несколько нулей. Разместить их вначале через один элемент, первый, третий, пятый и т.д slava_q9 Общие вопросы C/C++ 1 18.03.2022 10:35
В списке содержится несколько нулей. Разместить их вначале через один элемент, первый, третий, пятый и т.д slava_q9 C/C++ Базы данных 1 09.03.2022 11:46
В двухсвязном списке удалить первый и последний элемент nonameii3ii Помощь студентам 5 22.05.2021 21:20
В созданном списке вычислить среднее арифметическое и заменить им первый элемент xxxmorgan C++ Builder 0 15.05.2014 22:29
Дан указатель P1 на первый элемент непустого двусвязного списка Продублировать в списке все элементы с нечетными значениями S.I.D. Паскаль, Turbo Pascal, PascalABC.NET 0 23.01.2013 19:08