mario17 Temat założony przez niniejszego użytkownika |
Tablica a funkcja » 2013-01-10 15:10:09 Pomocy!!! Mam zadanie domowe, w którym dla zadanej liczby N program stworzy wektor S,zawierający informacje, w którym kroku został wyeliminowany co trzeci element tablicy A=[1,2,3...N] Program ma wyglądać tak: dla N=10, zamiast 0 mogą być x; Krok 1: 1 2 3 4 5 6 7 8 9 10 Krok 2: 1 2 0 4 5 6 7 8 9 10 Krok 3: 1 2 0 4 5 0 7 8 9 10 Krok 4: 1 2 0 4 5 0 7 8 0 10 Krok 5: 1 0 0 4 5 0 7 8 0 10 Krok 6: 1 0 0 4 5 0 0 8 0 10 Krok 7: 0 0 0 4 5 0 0 8 0 10 Krok 8; 0 0 0 4 5 0 0 0 0 10 Krok 9: 0 0 0 4 0 0 0 0 0 10 Krok 10: 0 0 0 4 0 0 0 0 0 0 s(6,4,1,10,8,2,5,7,3,9)
Wiem jak wyeliminować do kroku 3, gdzie eliminujemy 9, ale jak później wyeliminować resztę liczb; |
|
withelm |
» 2013-01-10 16:31:49 ehh, indeksuj tablice A od 0 a nie od 1, bedzie łatwiej.
teraz trzeba nonstop wykorzystac operator% |
|
unimator |
» 2013-01-10 17:32:41 Nie rozumiem tego przykładu. W kroku 4 przeskakujesz na początek ciągu i eliminujesz 2, więc domyślam się, że algorytm się powtarza. Jednak w następnym kroku zamiast wyeliminować 5 to Ty eliminujesz 7... chyba, że to jakiś bardziej zaawansowany algorytm o.O? wektor S,zawierający informacje, w którym kroku został wyeliminowany co trzeci element tablicy A=[1,2,3...N]
|
Co trzeci element zostanie wyeliminowany w pierwszym obiegu algorytmu. Tak więc w krokach od 1 do N/3, gdzie N/3 zaokrąglamy zawsze w dół do liczby całkowitej. |
|
mario17 Temat założony przez niniejszego użytkownika |
» 2013-01-10 22:39:12 Nie mogę nic wymyśle może ktoś napisze jak mają wyglądać te operatory; program eliminuje co 3 element i nie bierze już pod uwagi wyeliminowanych elementów dla tego eliminuje 7, a nie 5. |
|
kejkun |
» 2013-01-10 22:59:38 nie znam się bardzo na programowaniu, więc przedstawię idee mojego pomysłu :
1. p = 0 2. wprowadź n sprawdzamy po kolei tablice 10 elementową np.
po kolei jeśli 1 element jest różny od zera to p = + 1 i jeśli p = 3 skasuj ten element na którym sprawdzał tablice, tj. zmien jego wartosc na 0 . i przyporządkuj p = 0. a do j = + 1 ( liczba wykreśleń ) jeśli j = n break , zakoncz petle. wypisz tablice.
pętla idzie dalej gdy dochodzi do 10 elementu to albo coś tu robi, albo nie, ale w kazdym razie po tym zaczyna przesukiwać od 1 elementu, czyli od początku. z tamtym p , które już było.
gorzej jakby w tablicy mogły być zera, ale nic o tym nie wspomniałeś :P
co do wektora : s(6,4,1,10,8,2,5,7,3,9) dodać kolejną zmienną, która przy każdym p = 3 , k = + 1 albo do tego tablice 10 elementową i wtedy wprowadzamy wartość k , dla badanej komórki , tj. np. badamy teraz 5 komórkę w tablicy tej z początku.
tyle, że już w nowej tablicy. |
|
unimator |
» 2013-01-11 08:28:24 Napisz dokładnie co robi algorytm po pierwszym przejściu przez ciąg. Bo 2 i 7 zostały wyeliminowane niemal że losowo, a 5 nie została wyeliminowana bo przecież jeszcze stoi jak wywalasz 7. Zresztą odpowiedź już ci udzieliłem w poprzednim poście . |
|
mario17 Temat założony przez niniejszego użytkownika |
» 2013-01-11 10:57:44 2 i 7 nie zostala wyeliminowana losowo. Po wyeliminowaniu elementu 9 trzeci w koleji jest licząc po koleji element 10, 1, 2 element 2 eliminujemy. Z 7 podobnie nie bierzemy juz weliminowanych elementow czyli 3, 6 i liczymy trzeci element od 2 czyli 4, 5, 7, eliminujemy 7. Reszte eliminujemy podobnie. |
|
mario17 Temat założony przez niniejszego użytkownika |
» 2013-01-12 15:26:31 |
|
« 1 » |