// sp1udalkv.cpp : Defines the entry point for the console application.
//

//Создать  список - очередь, вывести его на печать.
// Найти и Удалить из списка элемент, введенный с клавиатуры, если элемента нет - выдать сообщение

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

struct elem{
	int num;
	elem *next;
	};
	elem *first, *cur, *tmp, *q,*last;
	char snum[10];

 void main()
 {
	 int n,k;
	 puts("Input integer value or ENTER");
  first=new elem;
  puts("");
  gets(snum);
  first->num=atoi(snum);
  first->next=NULL;
  last=first;
   while(gets(snum),strlen(snum)!=0)
   {cur=new elem;
    cur->num=atoi(snum);
	cur->next=NULL;
	last->next=cur;
	last=cur;
   }
  puts("inputed spisok first -> last");
  cur=first;
  while(cur!=NULL)
  {printf("%5d",cur->num);
  cur=cur->next;
  }
  printf("\n");
   k=0;
   printf("Input k\n");
  scanf("%d",&k);
  cur=first;tmp=first;
  while((cur!=NULL)&&(cur->num!=k))
  {   tmp=cur;
	  cur=cur->next;
  }
  if(cur==NULL)printf("Elemett %5d not found\n",k);
  else
   {   if(cur==first)
        {q=cur;
         first=first->next;
		 delete q;
        }
       else
	   {
	    if (cur->next!=NULL) 
        {q=cur;
         tmp->next=cur->next;
		 delete q;
         }
        else
		 { tmp->next=NULL;
		   last=tmp;
		   delete cur;
         }
        }
 
  printf("inputed spisok first -> last after udal udalelem  %5d\n",k);
  cur=first;
  while(cur!=NULL)
  { 
	  printf("%5d",cur->num);
     cur=cur->next;
  }
     printf("\n");
  }
    
  getch();

}
