Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / VD / NIck / lab32
.c#include <stdio.h>
#define dim 5
main()
{
int out,in;
int ch;
char q;
int m[dim];
int pnr=0;
int pnr2=0;
int push(int a)
{
if (pnr==dim) pnr=0;
m[pnr]=a;
pnr++;
}
int pop()
{
if (pnr==pnr2)
{
printf("Error: queue overflow or empty queue\n");
exit(1);
}
pnr2++;
return(m[pnr2-1]);
}
do
{printf("Enter '1' if you want take from queue, '2' if you want to put into queue:");
scanf("%d",&ch);
printf("\n");
if (ch==1)
{
out=pop();
printf("Value is: %d\n",out);
}
if (ch==2)
{
printf("Enter value:");
scanf("%d",&in);
printf("\n");
push(in);
}
if (ch!=1 && ch!=2)
{
printf("Error: bad argument\n");
exit(2);
}
printf("One more time? (Y/N):");
scanf("%s", &q);
printf("\n");
if ((q!='y') && (q!='Y') && (q!='n') && (q!='N'))
{
printf("Error: bad input\n");
exit(3);
}
}
while (q!='n' && q!='N');
}