программа, которая создает список .В программе предусмотреть размещение в обратном порядке элементов между первым и последним вхождением элемента Е
Разработать программу, которая создает список, элементами которого являются целые числа. В программе предусмотреть размещение в обратном порядке всех элементов между первым и последним вхождением заданного элемента Е, если Е входит в размере не менее двух раз, в противном случае список оставить без изменений.
#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");
}