Функция удаления элемента структуры - C (СИ) (78752)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, не могли бы подсказать, где я ошибся?( функция никак не хочет удалять элемент структуры, в поле которого содержится nlogin. root-указатель на начальный элемент стурктуры
void del_user (struct el_user* root, int nlogin)
{
    struct el_user* r2;
    struct el_user* r3=root;
    while(root)
    {
        r2 = root;
        if ( (r2->login) == nlogin) 
        {
            free (r2);
            root=r3;
            break;
        };
        if ((root->next) == 0) //эта проверка работает
        {
            printf ("No user with such login exists. Check login.\n");
            root=r3;
            break;
        };
        root = root->next;
    }
up, оч надо плиииз

Решение задачи: «Функция удаления элемента структуры»

textual
Листинг программы
int main()
{
   el_user *root;
 
   // создать цепочку
   // ...
   // ...
 
   // удалить пользователя
   del_user( &root, 12345 );
 
   return 0;
}

Объяснение кода листинга программы

В данном коде выполняется удаление элемента из структуры данных, представляющей собой связный список (или граф), где каждый узел (или вершина) содержит информацию о пользователе. Код создает указатель root на первый элемент списка (или графа). Затем он вызывает функцию del_user, которая принимает два аргумента: указатель на первый элемент списка и идентификатор пользователя, которого необходимо удалить. Функция del_user работает следующим образом:

  1. Она получает указатель root на первый элемент списка.
  2. Затем она получает идентификатор пользователя, которого необходимо удалить.
  3. Функция проходит по списку, начиная с root, и ищет пользователя с указанным идентификатором.
  4. Когда она находит нужного пользователя, она удаляет его и все его связи (если они есть) из списка.
  5. После удаления всех связей с пользователем, функция возвращает указатель на новый root (первый элемент списка). В данном коде вызывается функция del_user с аргументами root и 12345. Это означает, что будет выполнено удаление пользователя с идентификатором 12345 из связного списка, представленного в функции main. В конце кода функция main возвращает 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5