• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Удалить Первое Вхождение Елемента Из Списка

  • Автор темы mashinit
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

mashinit

ДОбрый день у меня такая задача:

Использовать (линейные) однонаправленные списки Параметры L, L1 и L2 обозначают списки, а параметры Е, Е1 и Е2-данные типы ТЕ, к которым можно применять операции присваивания и проверки на равенство.
Определить функцию,
а) удаляет из списка L первое вхождение элемента E, если такое есть;
б) по списку L строит два новых списка: L1 - из положительных элементов и L2 - из других элементов списка L {ТЕ = double}.
в) удаляет из списка L2 первый отрицательный элемент, если таковой имеется,
г) выводит результат в два различных файлов (используется одна фунция)

Подскажите, как правельно удалить первое вхождение Элемента из списка? Прошу помощи, нето утону +)

не могу придумать как сделать что б оно именно удаляло первое вхождение елемент, присвоить ему значение 0 нельзя ведь тогда запишеться елемент 0, а если ему присвоить NULL может тогда выйдет =/ и использовать функцию с while? чтоб заменить имнно первое?
 
G

Guest

Здравствуйте. Если правильно понял задание, то:
1).Просматриваете элементы списка в поисках нужного признака, при этом сохраняете в специальную переменную адрес элемента, предшествующего обрабатываемому;
2).Если найден нужный элемент, то считываете в переменную-указатель адрес следующего элемента;
3).Удаляете элемент ( free() );
4).Переходите к элементу по сохраненному в п.1 указателю
5).Записываете в поле адреса следующего элемента сохраненный в п.2 указатель
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!