программа, которая создает список .В программе предусмотреть размещение в обратном порядке элементов между первым и последним вхождением элемента Е

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

#include <stdio.h>
#include <stdlib.h>

int main()
{
    struct list

    {
    int data;
    struct list *next;

    };

    int n,i,E;

    printf ("Input N: ");
    scanf("%d",&n);
    scanf("%d",&E);
    struct list *plist,*head;
    plist=malloc(sizeof(struct list));
    head=plist;             // створення списка
    i=1;
    do

    {
       scanf("%d",&plist->data);
       plist->next=malloc(sizeof(struct list));
       plist=plist->next;

    }
    while (++i<n);
    scanf("%d",&plist->data);
    plist->next=0;
    plist=head;        // Виведення елементів списку
    while (plist!=0)
    {
       printf("%d ",plist->data);
       plist=plist->next;

    }

    plist=head;
    if (plist==E)
       while (plist->next==E)
       {
            if (plist->next->data==E)
            {
                   plist->next=plist->next->next;
            }
            else plist=plist->next;
       }
printf("\n");
 plist=head;     // Виведення елементів списку
   if (plist==E)
       do
       {
          printf("%d ",plist->data);
          plist=plist->next;
       }

      while (plist==E);
    printf("\n");
}

Ответы (0 шт):