Skocz do zawartości

zadanie na stosie


marcinekm681

Polecane posty

Ponieważ mój ostatni temat został zablokowany:Z Mam nadzieje że ten nie będzie bo nie chodzi mi o jakiś program żeby mi ktoś napisał czy coś, jak to powiedział pan Moderator. Bo te zadanie nie jest mi potrzbne do szkoły!! Po prostu miałem je na kolsie u siebie i nie wiedziałem jak zrobić. A chciałbym wiedzieć jak je sie robi.

1. NAPISAĆ FUNKCJE USUWAJĄCA DUGI CO DO WIELKOSCI ELEMENT STOSU.

 

Bede wdzieczny jeżeli mi ktoś zechce pomóc, nie koniecznie nawet napisaniem algorytmy, ale samą wskazówką jak to zrobić:-).

Pozdro wszystkim.

Link do komentarza
Udostępnij na innych stronach

Witam, nie wiem jak definiujesz wielkosc elementu, ani co jest elementem (integer ? obiekt ?) ale ogolnie metoda jest prosta. Stos daje ci 2 funkcje pop, push wiec aby usunac ze stosu A dowolny (nie pierwszy) element robisz tak.

 

1) tworzysz stos B

2) pobierasz ze stosu A element, jesli nie jest to element do usuniecia wsadzasz go na stos b

3) krok 2 powtarzasz az dojdziesz do elementu ktory cie interesuje. Jak go znajdziesz po usunieciu ze stosu A wykonujesz punkt 4

4) przenosisz ze stosu B elementy na stos A

 

jak to napiszesz to czas na upgrade. Przeszukujesz stos A zdejmujac z niego elementy na stos B, znajdziesz sobie wtedy najwiekszy element i element drugi najwiekszy. w momencie jak bedziesz wykonywal punkt 4 nie przenosisz ze stosu B tych elementow ktorych nie chcesz.

 

Powodzonka, jak napiszesz fajnie by bylo jakbys podzielil sie kodem, moze sie komus przyda

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Wielkie dzięki za podpowiedzi, o to mi chodziło.:-) Teraz umiem usunąć przynajmniej wybrany element (integer) ze stosu :-) Niestety umiem go usunąć tylko wtedy jak znam jego wielkość, natomiast tam trzeba było usunąć drugi co do wielkości nie znając go;-/. I tu są schody...

Z tego co napisaliście zrozumiałem, że wszystkie liczby ze stosu A przerzucam do stosu B, w nim szukam MAX ELEMENTU ( i w tym momencie wiem że to raczej banalne, ale nie wiem jak znaleźć element DRUGI co do wielkości;-() a nastepnie spowrotem przerzucam ze stosu B do A i jeśli napotykam liczbe której szukałem, usuwam ją .

Jeżeli właściwie zrozumiałem was to funkcja jest praktycznie dla mnie znana, no oczywiście nie licząc tego DRUGIEGO co do wielkości elementy ;-////.

Kurcze, jak sie szuka tego przeklętego elementu????;-((((

Link do komentarza
Udostępnij na innych stronach

Tak samo jak pierwszego, tylko musisz trzymać oba w jakiejś tablicy (lub w dwóch zmiennych). I przy szukaniu max elementu najpierw porównujesz ze zmienną (powiedzmy) max2 i do niej przypisujesz największy element, a następnie porównujesz max2 z max1 i jeśli max2 > max1 to zamieniasz je miejsami (temp = max1; max1 = max2; max2 = max1). Na końcu w max1 będzie najwiekszy element, a w max2 drugi co do wielkości.

 

Chyba nie pomieszałem ;-)

҉

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...