Pomoże ktoś z tym zadaniem?? Dzięki wielkie z góry.
Pokaż co zrobiłeś do tej pory, to pomożemy.
@urke: na razie mniej więcej ustaliłem jak zrobić dodawanie i usuwanie ale problem jest z sprawdzaniem ilości elementów,
dodawanie:
void push ( typ_danych v )
{
if( sptr < n ) T [ sptr++ ] = v;
}
gdzie
sptr – zmienna przechowująca wskaźnik stosu tablicy
n–rozmiar tablicy
T –tablica przechowująca stos
v –zapisywana wartość
usuwanie:
void pop ( void )
{
if( sptr ) sptr--;
}
ale też nie wiem czy to jest dobrze
@abcde123: Stwórz sobie strukturę/klasę, która będzie zawierała w sobie metody push/pop, dodatkowo będzie posiadała zmienną 'size' która przechowuje rozmiar stosu. No i oczywiście jakąś tablicę/wektor przechowujący dane.
struct Stack
{
size_t size = 0;
void pop()
{
...kod zdejmowania elementu ze stosu
this.size--;
}
void push()
{
...kod wrzucania elementu na stos
this.size++;
}
};
@Eldorad O.: o to już mi dużo pomogło, a jak zrobić żeby po wciśnięciu np 1 wyświetlał się stan stosu?
@abcde123: Stwórz sobie jakiegoś switcha.
A w ogóle to co rozumiesz przez stan stosu?
Rozmiar, zawartość?
@Eldorad O.: ilość elementów w stosie
@abcde123: Przykładowo, możesz zrobić coś takiego:
int main(int argc, char const *argv[])
{
Stack* stack = new Stack();
bool exit = false;
while(!exit)
{
int menu_choice;
std::cout << "Wybierz opcję: 1. 2. 3. 4." << std::endl;
std::cin >> menu_choice;
switch(menu_choice)
{
case 1:
std::cout << "Rozmiar stosu: " << stack->size << std::endl;
break;
case 4:
exit = true;
break;
}
}
return 0;
}
@Eldorad O.: dzięki, coś pokombinuję i zobaczę co wyjdzie mam jeszcze chyba 3 takie "zadania" z którymi będę potrzebował trochę pomocy, więc jak coś będę potrzebował to będę pisał
Do poczytania:
https://www.learncpp.com/