Ma ktoś z was może pomysł na algorytm, który dla liczby n podanej przez użytkownika będzie tworzył macierz n na n i wypełniał ją kolejnymi liczbami naturalnymi od 1
np. dla n=3
1 2 3
8 9 4
7 6 5
Ma ktoś z was może pomysł na algorytm, który dla liczby n podanej przez użytkownika będzie tworzył macierz n na n i wypełniał ją kolejnymi liczbami naturalnymi od 1
np. dla n=3
1 2 3
8 9 4
7 6 5
dlaczego ten watek trafil do /dev/null
War, war never changes.
Ponieważ autor wykazał się brakiem wyobraźni i nie opanował podstaw programowania - pętli for.
Jednak wątek zostawiłem bo wziąłem pod uwagę, że komuś może się chcieć wytłumaczyć "jak programować".
Co :|
Rzuciłbym kąśliwą uwagę, ale nie będąc pewien jakie mogą być jej konsekwencje, daruję sobie, z władzami lepiej nie zadzierać.
Po pierwsze - osoba zakładająca wątek bardzo wyraźnie poprosiła o pomysł na algorytm, a nie o kod, a może on wcale nie chce tego zaprogramować, potrzebuje tylko pomysłu na wykonanie tego? :>
Po drugie - ten problem nie jest taki prosty, w pierwszym momencie nie wiedziałem jak to zrobić i dopiero z kartką i ołówkiem udało mi się wykombinować. Śmiem stwierdzić że pan moderator rzucił okiem, zobaczył że chodzi o tablice n x n i uznał że to banał, a nie rzucił okiem, że autor nie ma na myśli zwyczajnie wypełnionej tablicy a wypełnionej takim "ślimakiem"
1 2 3
8 9 4
7 6 5
No chyba że z moderatora bardzo inteligentny człowiek i od razu wymyślił jak to zrobić. Tak czy inaczej, to FORUM, miejsce na którym ludzie szukają rozwiązań problemów. Nie da się ukryć, że wielu to dzieci którym nie chce się poszukać na google, ba, sądzę że nawet tego problemu rozwiązanie dałoby rade znaleźć na google, ale w takim razie po co forum jak odpowiedzi na wszystko są w wielkim G?
A teraz do rzeczy, ja to zrobiłem tak:
i - indeksy kolumn, j - indeksy wierszy
x - dodatkowy znacznik który powie że ten kawałek już wypełniliśmy
n - liczba n
counter - największa wartość w danym momencie wstawiona w tablice
4 pętle for
1:
Dla j=x wypełniamy tablice od i=x do i<n-x
2:
Dla i=n-x-1 (ten -1 dlatego że podając wielkość tablicy 5 mamy indeksy od 0 do 4, wiec ostatnim indeksem jest n-1) wypełniamy tablice od j=x+1 do j<n-x
3:
Dla j=n-x-1 wypełniamy od i=n-x-1-1 (dodatkowe -1 dlatego że róg tablicy wypełniliśmy w poprzednim forze) do i>=x
4:
Dla i=x wypełniamy od j=n-x-1-1 do j>x
Na samym końcu robimy x++, poza tymi 4 pętlami. Tablica jest już na brzegach wypełniona, musimy odpalić to jeszcze n-1 razy, wiec cały ten kod wrzucamy w pętle co się wykona n razy i po problemie.
voila, zrobione u mnie wyświetliło piękną tablice
Jeśli coś nie będzie działało znaczy albo gdzieś sie machnąłem opisując algorytm na forum albo Ty źle przepisałeś Proponuję Ci najpierw wziąć kartkę i samemu krok po kroku stworzyć taką tablicę ołówkiem, ułatwia ogarnięcie działania algorytmu
Ostatnio edytowane przez edosinx : 10-19-2008 - 09:45
"Czasem człowiek sądzi, że ujrzał już dno studni ludzkiej głupoty,
ale spotyka kogoś, dzięki komu dowiaduje się,
że ta studnia jednak nie ma dna." - Stephen King
Dzięki za pomysł za chwilę przetestuję. no tak się składa, że pomyliłem się przy zakładaniu postu . Bawię się już trochę programowaniem i rozumiem działanie pętli for. Jeżeli problem był taki błahy to moderator powinien go rozwiązać pod spodem Więc albo moderator ma taką wyobraźnię i nie chce się nią chwalić (ma do tego prawo ) albo jego wyobraźnia jest ograniczona i też głośno nie chce się tym chwalić
Panie radler12,
1) Temat poruszony w tym wątku nie ma nic wspólnego z tematyką forum,
2) Temat zostawiłem otwarty i uzasadniłem to:
3) Wysłałem wiadomość PM ze wskazówkami, na którą nie dostałem odpowiedzi,Jednak wątek zostawiłem bo wziąłem pod uwagę, że komuś może się chcieć wytłumaczyć "jak programować".
4) Pan radler12 nie wykazał się kasztą współpracy, nie dał ani jednej linijki kodu - nic. Oczekuje, aby forumowicze zrobili zadanie za niego.
5) Żaden użytkownik forum (w tym ja) nie zasługuje na takie traktowanie:
Powyższe punkty powinny potwierdzić fakt, że bardzo tolerancyjnie podszedłem do tego wątku. Na przyszłość proszę o spojrzenie na sprawę z kilku stron.moderator ma taką wyobraźnię i nie chce się nią chwalić (...) albo jego wyobraźnia jest ograniczona i też głośno nie chce się tym chwalić
To zadanie na SPOJ?
Dla początkujących - Algorytmika w Wikipedii. Na dole przydatne linki.
Ostatnio edytowane przez ryniek : 10-21-2008 - 00:08
Python/Perl/Ruby Hosting - MegiTeam.pl
UwolnijLaptopa.pl - akcja pod patronatem Fundacji Wolnego i Otwartego Oprogramowania
1. Ta pewnie, co ma wspolnego algorytmika z IT?
2. Rozwiązywanie problemów za pomocą algorytmu nie ma nic wspólnego z jakimkolwiek językiem programowania.
3. czemu PM? Wątek miałby zostać bez odpowiedzi?
4. Jakiego kodu Normalne pytanie o pomysł na algorytm, czy na tym forum nie można zadać już żadnego pytania bo wszystko podchodzi pod "prośbę o gotowiec?"
5. Wybacz Mad_dud, ale Twoje moderatorstwo pozostawia wiele do życzenia :>
www.lingubot.pl - projekt sztucznej inteligencji.