Как после каждого парного элемента структуры добавить элемент на единицу больше чем этот парный элемент?

Рейтинг: 0Ответов: 0Опубликовано: 21.02.2023

Помогите пожалуйста! У меня есть структура:

typedef struct SNum
{
    int num;
    SNum * next;
    SNum * prev;

} TSNum;

TSNum * Start;

Я в неё добавляю рандомные элементы. Мне требуется обрабатывать эту структуру разными способами. Один из них - с помощью функции после каждого парного элемента структуры добавить элемент на единицу больше чем этот парный элемент. Я сделал такую функцию, однако консоль вылетает после её вызова. Подскажите пожалуйста, где я ошибся? Моя функция:

void newElemAfterPar(TSNum * &Start)
{
    TSNum * wp, *pp;
    wp=Start;
    TSNum * New = NULL;
    pp=wp;
    New->prev=NULL;
    New->next=NULL;
    int numer = 0;

    while(wp!=NULL)
    {
        if((wp->num)%2==0)
        {
            numer=(wp->num)+1;
            New->num=numer;
            wp=wp->next;
            pp->next=New;
            New->prev=pp;
            New->next=wp;
        }
        numer=0;
    }

    while(wp!=NULL)
    {
        cout << wp->num <<" ";
        pp=wp;
        wp=wp->next;
    }
    cout << endl;
}

Ответы

Ответов пока нет.