Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 2
Регистрация: 19.09.2017
Сообщений: 44
1

Односвязный список: удалить элемент списка, если он чётный и следующий элемент отрицательный и нечётный

02.01.2019, 15:04. Просмотров 822. Ответов 1

Здравствуйте. Задание на односвязные списки: удалить элемент списка, если он чётный и следующий элемент отрицательный и нечётный(реализация с конца списка).
Результат должен быть таковым:
Исходный список: -1 2 -3 4 -5 6
После изменений: 2 4 6
Есть код, но в он удаляет нечётные отрицательные элементы:

C++
1
2
3
4
5
6
typedef struct element
{
element *next;
element *prev;    
int value;        
}node;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
element *tmp=head;
        while (tmp)
        {
                        if((tmp->next->value<0) && (tmp->next->value%2!=0))
                        {
                                element *prevdel=tmp->prev;
                                element *afterdel=tmp->next;
                                tmp=tmp->next;
                                delete tmp->prev;
                                prevdel->next=afterdel;
                                afterdel->prev=prevdel;
                        }
 
        tmp=tmp->next;
        }
Что поменять в коде, чтобы работало правильно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2019, 15:04
Ответы с готовыми решениями:

Удалить 2-й элемент списка,если он нечетный,иначе этот элемент обнулить
удалить 2-й элемент списка,если он нечетный,иначе этот элемент обнулить

Если элемент массива четный — прибавить к нему первый, если нечетный — последний элемент
здравствуйте еще раз)) Спасибо за то что помогли с прошлой задачей огромной)) можно еще одну)...

Если элемент массива четный, то прибавить к нему первый элемент, а если нечетный - последний.
Если значение элемента массива четно, то прибавить к нему первый элемент массива, а если нечетно -...

Если элемент массива четный, то прибавить к нему первый элемент массива, если нечетный - то последний. В чем ошибка?
Помогите решить: Если элемент массива четный, то прибавить к нему первый элемент массива, если...

1
1423 / 701 / 291
Регистрация: 11.10.2018
Сообщений: 3,610
02.01.2019, 15:12 2
Односвязный список - а в первом коде двусвязный список.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2019, 15:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Удалить из списка первый отрицательный элемент, если такой есть
Описать процедуру, которая удаляет из списка L первый отрицательный элемент, если такой есть;...

Если индекс элемента массива четный, то элемент возвести в квадрат, если нечетный – удвоить
Дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке . Сформировать...

Если очередной элемент массива чётный, то прибавь к нему первый, если нечётный — прибавить последний
Дан одномерный массив состоящий из n элементов. Если очередной элемент чётный, то прибавь к нему...

Если максимальный элемент списка отрицательный, то продублировать каждое его вхождение в список
Создать однонаправленный стек целых чисел, распечатать. Если максимальный элемент этого списка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.