![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mój nauczyciel dał mi do wykonania program, który sprawi czy misiek dojdzie od startu do mety poruszając się wyłącznie po parzystych polach(bez cofania). Pola stworzyłem jako tablicę dwuwymiarową. W tej chwili program wygląda tak:
Będę wdzięczny za pomoc w wykonaniu programu. Pozdrawiam. Ten post edytował Plasot 19.05.2017, 07:26:02 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To co tutaj masz to problem skoczka szachowego, ino ze w prostrzej wersji. Poszukaj na necie, pelno tego.
W wielkim skrocie: musisz stworzyc funkcje rekurencyjna startujesz z pola. Idziesz w prawo jesli mozesz. Znowu odpalasz w funkcje z nowa pozycja, znowy idziesz w prawo jesli mozesz itd...Gdy nie mozesz isc w prawo, idziesz prosto. Gdy nie mozesz isc prosto idziesz w lewo. Gdy nie mozesz nigdzie isc, konczysz przebieg aktualnej funkcji i samo sie wraca do poprzedniego stanu - ladna rekurencja (IMG:style_emoticons/default/smile.gif) Problem dosc prosty a zabawy co nie miara (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Mam nadzieję, że nospor nie znajdzie dziury w całym ;p
Kod sprawdza wszystkie cztery kierunki, ale można zakomentować ruch wstecz. Tablica o tak małych wymiarach jest nieco uciążliwa, drogę znajduje raz na kilkanaście razy... |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Mam nadzieję, że nospor nie znajdzie dziury w całym Nadzieja matka glupich (IMG:style_emoticons/default/tongue.gif) Ale ze juz piatek wieczor to przemilcze. Swoja droga zawsze prace domowe zamykasz a tu nie dosc ze nie zamknales to dales pelnego gotowca (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No właśnie, że nie gotowca, bo jego założenia były inne, więc będzie się musiał wykazać...
To pisz, co można by polepszyć, bom ciekaw (IMG:style_emoticons/default/wink.gif) Fajnie byłoby wygenerować tabelkę ze znalezioną drogą. Pewnie trzeba by wyszukać w tablicy $dane wartości z tablicy $wynik i porownać. Masz na to jakiś pomysł, bo nie mogę na to wpaść... |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tez mi wykazanie... skasowanie jednej linijki w gotowcu co podales (IMG:style_emoticons/default/tongue.gif)
Z pisania nie ma co duzo pisac... Ot zamiast return; powinno byc return null; albo return []; Pozniej nie count == 0 a poptostu empty Zas kolejne IF powinny miec else w sobie Cytat Pewnie trzeba by wyszukać w tablicy $dane wartości z tablicy $wynik i porownać. Nie bardzo rozumiem... A po co? Przeciez w $wynik masz wspolrzedne sciezki, co tam chcesz porownywac? No chyba ze przy wyswietlaniu planszy? |
|
|
![]()
Post
#7
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No właśnie, mam tablicę złożoną ze współrzędnymi ścieżki i nie bardzo wiem, jak to wyświetlić.
Mógłbym tak:
Ale nieoptymalne do granic możliwości. O, znalazłem array_intersect, czas pokombinować (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ale mozesz mi napisac co ty chcesz osiagnac? Bo teraz jak dla mnie kombinujesz jak kon pod gorke i ciagle nie wiem czemu (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Chciałbym wygenerować tabelkę ze znalezioną ścieżką, czyli zaznaczyć komórki tabeli.
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No i dobrze. To czemu tego nie robisz przy generowaniu tej tabelki tylko gdzies na boku i totalnie jakos dziwnie?
Dodatkowo tabela $wynik powinna miec index "$x,$y" - wowczas od razu bedziesz wiedzial czy dla wspolrzednych x i y jest sciezka czy nie i po sprawie. |
|
|
![]()
Post
#11
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Nie wiedzieć czemu, nic nie kombinując mam tak:
Cytat Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4096 bytes) in C:\AppServ\www\__test\mis.php on line 182 czyli gdzieś w pętli while. |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ale w ktorej petli while?
|
|
|
![]()
Post
#13
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
W drugiej.
369856 bez tablicy $dane. |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
MI tam dziala. Jestes pewien ze NIC nie zmieniales? Przeciez ci tez dzialalo
|
|
|
![]()
Post
#15
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Już działa, literówka ;p
I nadal nie wiem, jak mam zaznaczyć komórki tabeli. Za krótki jestem... |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Nie wiedzieć czemu, nic nie kombinując mam tak: Cytat Już działa, literówka ;p Moglbys sie kiedys nauczyc rozrozniac nic nie kombuje od cos jednak kombinuje... (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#17
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
|
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Rozwiazanie z rekurencja to jedno z mozliwych rozwiazan.
Rozwiazanie, ktore podal Kshyhoo jest lepsze od tego, ktore ja zaproponowalem na poczatku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:55 |