Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab 3 / LAB3

.CPP
Скачиваний:
9
Добавлен:
17.04.2013
Размер:
1.28 Кб
Скачать
#include<conio.h>
#include<stdlib.h>
#include<iostream.h>
#include<stdio.h>

     struct spisok
	     {
	     int elem;
	     spisok *next;
	     };
  spisok *l;

void FormSpisok()
{
 spisok *m,*k;
 int i;
 randomize();
     k=new spisok;
     k->elem=random(5);
     l=k;
     for (i=1;i<10;i++)
	{
	m=new spisok;
	m->elem=random(5);
	k->next=m;
	k=m;
	}
     k->next=NULL;
}

void vivodSpisok()
{
 spisok *m;
     m=l;
     while (m!=NULL)
	{
	cout<<m->elem<<' ';
	m=m->next;
	}
}

void Vstavka()
{
 spisok *m,*k,*r;
   int i,a,s;
   m=l;
   cout<<endl<<"Vvedite posiciju: ";
   cin>>a;
   cout<<"Vvedite element: ";
   cin>>s;

     for (i=1;i<a-1;i++) m=m->next;
     k=new spisok;
     k->elem=s;
     r=m->next;
     m->next=k;
     k->next=r;
}

void Del()
{
 spisok *m,*k,*r;
   int i,a;
   cout<<endl<<"Vvedite posiciju: ";
   cin>>a;

if (a==0)
       {
       m=l;
       l=l->next;
       delete(m);
       }
else
   {
   m=l;
     for(i=1;i<a-1;i++) m=m->next; //поиск позиции удаления
     k=m->next;
     r=k->next;

     m->next=r;
     delete(k);
    }
}


void main()
{
clrscr();
FormSpisok();
vivodSpisok();
Vstavka();
vivodSpisok();
Del();
vivodSpisok();
getch();
}