Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / C++.Ашарина / !Сделанные / Lab3 / Var06
.cpp#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 Insert(list *head, list* &tail, int l1, int l2)
{
list *T, *P;
int p=0;
T=new list;
T=head;
while (T!=tail)
{
if ((T->info==l1) && (p!=1))
{
P=new list;
P->info=l2;
P->next=T->next;
T->next=P;
p=1;
}
else
p=0;
T=T->next;
}
if (tail->info==l1)
{
P=new list;
P->info=l2;
P->next=NULL;
tail->next=P;
tail=P;
}
}
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, l1, l2;
printf("\nEnter number of elements: ");
scanf("%d",&n);
New(head,tail);
for (i=1;i<=n-1;i++)
Add(tail);
printf("Your list: ");
Print(head,tail);
printf("\nEnter l1: ");
scanf("%d",&l1);
printf("Enter l2: ");
scanf("%d",&l2);
Insert(head,tail,l1,l2);
printf("New list: ");
Print(head,tail);
getch();
}
Соседние файлы в папке Lab3