Próbuje napisać stos, który ma mieć takie funkcje:
init - przygotowanie stosu do pracy
destroy - "posprzątanie" po stosie
push - położenie na wierzchołku stosu liczby - parametru
pop - zdjęcie z wierzchołka stosu liczby (tzn. liczby ostatnio położonej)
top - odczytanie z wierzchołka stosu liczby (tzn. liczby ostatnio położonej)
empty - sprawdzenie, czy stos jest pusty
full - sprawdzenie, czy stos jest pełny
Program ma możliwość pracy z wieloma stosami na raz.
Mam problem z funkcją pop i top bo nie wiem jak to napisć żeby akurat ten ostatni element z tablicy odczytać/zdjąć. Próbowałem to napisać za pomocą tablicy dynamicznej i wiem, że jest tam dużo błędów. Mam nadzieję, że ktoś pomoże.
Funkcją push od razu całą tablicę zapełnić czy na zmiennej statycznej po jednym indeksie zmieniać ?
Kod:
#include <iostream>
#include <time.h>
using namespace std;
bool empty(int *tablica,int m);
void push(int *tablica, int m);
int Pop(int *tablica, int m);
void init(int *tablica, int m);
void destroy(int *tablica, int m);
int main()
{
int i,ile;
cin >> ile;
int *tab = new int [ile];
return 0;
}
void destroy(int *tablica, int m)
{
for(i = 0; i < m; i++)
{
*tablica[i] = 0;
}
}
void init(int *tablica, int m)
{
srand(time(NULL));
for(i = 0; i < m; i++)
{
*tablica[i] = rand % 100 + 1;
}
}
void push(int *tablica,int m)
{
int i;
int tablica[m];
for(i = 0;i < m;i++)
{
tablica[i] = *tablica[i];
}
}
bool empty(int *tablica,int m)
{
int i;
for(i = 0; i < m; i++)
{
if(tablica[m]!=NULL) return false;
}
}
int Pop(int *tablica, int m)
{
}