Jestem bardzo początkująca - tak żebyście wiedzieli z kim macie do czynienia :P
Program działa niemalże idealnie tak jak powinno wykluczając to, że nie wiem za bardzo w którym momencie powinnam odejmować w tablicy, by wpisywało mi odpowiednią liczbę w odpowiednie miejsce. Proszę o pomoc! ;)
#include "stdio.h"
#include <iostream>
using namespace std;
int tail[8], head[8], lenght[8];
int Enq (int q, int x)
{
tail[q]=head[q]=0;
tail[q]=x;
if ( tail[q]==lenght[q]) tail[q]=1;
else tail[q]=tail[q]+1;
return 0;
}
int Deq (int q)
{
int x=head[q];
tail[q]=head[q]=0;
if (head[q]==lenght[q]) head[q]=1;
else head[q]=head[q]+1;
return x;
}
int main()
{
int a,b,c;
while(tail[8]!=true)
{
cout << "Wprowadz odpowiednio:\n1 - jesli chcesz dodac element do kolejki\n2 - jesli chcesz go usunac. \n"<<endl;
cin >>a;
switch (a)
{
case 1:
cout << "Wybrales dodawanie. Wprowadz teraz nr miejsca kolejki (<8) i cyfre jaka chcesz wprowadzic:\n" << endl;
cin >> b;
cin >> c;
Enq(b,c);
for(int i=0; i<8; i++)
{
cout << tail[i];
}
cout<<endl;
break;
case 2:
cout << "Wybrales odejmowanie. Wprowadz numer miejsca w kolejce, ktory chcesz wyczyscic.\n"<< endl;
cin >> b;
Deq(b);
for(int i=0; i<8; i++)
{
cout << tail[i];
}
break;
default:
cout << "Blad instrukcji! Wpisz ponownie odpowiedni numer\n";
break;
}
cout << endl;
}
return 0;
}