Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / C++.Ашарина / !Сделанные / Lab3 / Var12
.cpp#include<dos.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct list
{
int info;
list *next;
};
void New(list* &head, list* &tail)
{
head=new list;
head->info=random(10);
head->next=NULL;
tail=head;
}
void Add(list* &tail)
{
list *T;
T=new list;
T->info=random(10);
T->next=NULL;
tail->next=T;
tail=T;
}
void First(list *head, list* &tail)
{
list *T, *P;
T=head;
while (T!=tail && T!=NULL)
{
P=T;
while (P->next!=tail)
{
if (P->next->info==T->info)
P->next=P->next->next;
else
P=P->next;
}
if (tail->info==T->info)
{
P->next=NULL;
tail=P;
}
T=T->next;
}
}
void Print(list *head, list *tail)
{
list *T;
T=new list;
T=head;
while (T!=tail)
{
printf("%d ",T->info);
T=T->next;
}
printf("%d ",tail->info);
}
void main()
{
clrscr();
randomize();
list *head, *tail;
int i, n;
float a;
printf("Enter number of elements: ");
scanf("%d",&n);
if (n==0)
return;
New(head,tail);
for (i=1;i<=n-1;i++)
Add(tail);
printf("Your list: ");
Print(head,tail);
First(head,tail);
printf("\nNew list: ");
Print(head,tail);
getch();
}