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