Stos(sprawdzanie ilości elementów, dodawanie i usuwanie elementów)

0

Pomoże ktoś z tym zadaniem?? Dzięki wielkie z góry.

0

Pokaż co zrobiłeś do tej pory, to pomożemy.

0

@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

1

@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++;
   }
};
0

@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?

0

@abcde123: Stwórz sobie jakiegoś switcha.
A w ogóle to co rozumiesz przez stan stosu?
Rozmiar, zawartość?

0

@Eldorad O.: ilość elementów w stosie

0

@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;
}
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ł

2

Do poczytania:
https://www.learncpp.com/

1 użytkowników online, w tym zalogowanych: 0, gości: 1