[Spoj][Algorytmy][C++] Karciana sztuczka

nnnmmm
Użytkownik
Użytkownik
Posty: 369
Rejestracja: 16 sty 2013, o 15:48
Płeć: Kobieta
Lokalizacja: Warszawa
Podziękował: 102 razy
Pomógł: 1 raz

[Spoj][Algorytmy][C++] Karciana sztuczka

Post autor: nnnmmm »

Witam, mam problem z zdaniem . Nie do końca wiem jak zrealizować je w C++.


Weźmy liczbę np: \(\displaystyle{ 8}\) i tab[8]. Można wtedy określić coś takiego jak licznik, którego wartość początkowa ==1.

Widać, że gdy

Kod: Zaznacz cały

licznik%2!=0
, to wpisujemy do tablicy i mamy:

Kod: Zaznacz cały

tab:    0 1 2 3 4 5 6 7 
liczba: 1   2   3   4    
wartość licznika gdy dojdziemy do tab[7], jest równa \(\displaystyle{ 8}\) (dlatego nie wpisaliśmy tutaj nic, bo

Kod: Zaznacz cały

8%2=0
). W tabeli zostały nam miejsca na pozycji 1,3,5,7.
Licznik działa dalej i przy \(\displaystyle{ 1}\) jego wartość to \(\displaystyle{ 9}\), dlatego tab[1]=5. Przy tab[3] nie wnispujemy, bo 10%2==0 itd.

W ten sposób tworzy się masa podciągów. Nie mam pojęcia jak to ogarnąć :/
Ostatnio zmieniony 31 paź 2015, o 12:24 przez Afish, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
SlotaWoj
Użytkownik
Użytkownik
Posty: 4211
Rejestracja: 25 maja 2012, o 21:33
Płeć: Mężczyzna
Lokalizacja: Kraków PL
Podziękował: 2 razy
Pomógł: 758 razy

[Spoj][Algorytmy][C++] Karciana sztuczka

Post autor: SlotaWoj »

A nie prościej zrobić to w formie listy, a nie tabeli. Nie znam C++, ale gdybym to robił w Pascalu, który znam i lubię, to właśnie tak.
nnnmmm
Użytkownik
Użytkownik
Posty: 369
Rejestracja: 16 sty 2013, o 15:48
Płeć: Kobieta
Lokalizacja: Warszawa
Podziękował: 102 razy
Pomógł: 1 raz

[Spoj][Algorytmy][C++] Karciana sztuczka

Post autor: nnnmmm »

Tylko nie wiem jak napisać ten algorytm
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Spoj][Algorytmy][C++] Karciana sztuczka

Post autor: Afish »

Jak właściwie chcesz rozwiązać to zadanie? Próbujesz symulować rozdawanie kart przez modyfikowanie listy, czy może chcesz wyliczać wartość elementu mając indeks w tablicy, czy może jeszcze inaczej?
SlotaWoj
Użytkownik
Użytkownik
Posty: 4211
Rejestracja: 25 maja 2012, o 21:33
Płeć: Mężczyzna
Lokalizacja: Kraków PL
Podziękował: 2 razy
Pomógł: 758 razy

[Spoj][Algorytmy][C++] Karciana sztuczka

Post autor: SlotaWoj »

  1. Czy potrafisz zaprogramować obsługę zmiennych dynamicznych.
  2. Czy znasz listy (są różne rodzaje) jako struktury danych.
Jeśli odpowiedź na ww. pytania jest negatywna, to albo się tego douczysz, albo opracujesz algorytm „tablicowy”.

Niezależnie od użytych struktur danych napisz algorytm postępowania odwrotnego do wykładania kart na stole.

Można pewnie określić funkcję, która będzie obliczała wymagany indeks początkowy w tablicy, aby karty po wyłożeniu na stół były w porządku rosnącym, ale to jest już problem matematyczny, a nie informatyczny i autorom zadania zapewne nie o to chodziło.
ODPOWIEDZ