 
        
        
          Добавил:
          
          
        
        
    
            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();
}