Witam
Czy ktoś sprawnym okiem mógł by zerknąć na ten kod ? Po dodaniu tablic dynamicznych kodzik się wysypuje , więc obstawiam że gdzieś tu leży problem. Z góry dziękuje za pomoc
#include <iostream>
#include <windows.h>
#include <cstdlib>
using namespace std;
int n; //Rozmiar
int * kolejka = new int[ n ];; // Kolejka
int aktualny; // Aktualny rozmiar kolejki
int pierwszy; // Pierwszy element kolejki
int ostatni; // Pierwsze wolne miejsce w kolejce
//------------------------------------------------------------------------
void podaj()
{
delete[] kolejka;
cout << "Podaj rozmiar kolejki" << endl;
cin >> n;
Sleep(300);
}
//------------------------------------------------------------------------
void wyswietl()
{
system("cls");
cout<<endl;
cout<<"Rozmiar kolejki: "<<n<<endl;
cout<<"Aktualna zawartosc kolejki:"<<endl;
if (aktualny==0)
{
cout<<endl<<"<W kolejce nie ma zadnych elementow>";
}
else
{
int indeks;
for (int i=0; i<aktualny; i++)
{
indeks=pierwszy+i;
if (pierwszy+i>=n) indeks=pierwszy+i-n;
cout<<kolejka[indeks]<<" ";
}
}
}
//------------------------------------------------------------------------
void dodaj()
{
if (aktualny>=n)
{
cout << "Kolejka jest pelna!";
Sleep(1000);
}
else if (aktualny==0)
{
cout<<endl<< "Dodaj element: ";
cin>>kolejka[ostatni];
ostatni=ostatni+1;
aktualny=aktualny+1;
}
else
{
cout<<endl<< "Dodaj element: ";
cin>>kolejka[ostatni];
ostatni=(ostatni+1)%n;
aktualny=aktualny+1;
}
}
//------------------------------------------------------------------------
void usun()
{
if (aktualny==0)
{
cout<<"Kolejka jest pusta!";
Sleep(2000);
}
else
{
cout<<endl<<"Usuwam pierwszy element kolejki: "<<kolejka[pierwszy];
pierwszy=(pierwszy+1)%n;
aktualny=aktualny-1;
Sleep(2000);
}
}
//------------------------------------------------------------------------
void rozmiar()
{
cout<<endl<<"Liczba elementow w kolejce: "<<aktualny;
Sleep(2000);
}
//------------------------------------------------------------------------
void sprawdzam()
{
if (aktualny==0) cout<<endl<<"Sprawdzam czy kolejka jest pusta?"<<endl<<"Tak";
else cout<<endl<<"Sprawdzam czy kolejka jest pusta?"<<endl<<"Nie";
Sleep(2000);
}
//------------------------------------------------------------------------
int main()
{
int wybor;
aktualny=0;
pierwszy=0;
ostatni=0;
podaj();
do
{
wyswietl();
cout << endl << endl;
cout << "Menu"<<endl;
cout << "1. Dodaj (dodaje element na koniec kolejki) "<<endl;
cout << "2. Usun (usuwa element z poczatku kolejki) "<<endl;
cout << "3. Rozmiar (sprawdza ile elementow jest w kolejce) "<<endl;
cout << "4. Sprawdzam (sprawdza czy kolejka jest pusta) "<<endl;
cout << "5. Zmien rozmiar kolejki"<<endl;
cout << "6. Koniec"<<endl;
cout << "Wybor: ";
cin >> wybor;
switch (wybor)
{
case 1:
dodaj();
break;
case 2:
usun();
break;
case 3:
rozmiar();
break;
case 4:
sprawdzam();
break;
case 5:
podaj();
break;
}
}
while (wybor != 6);
return 0;
}