 |
Coders' city Nasza pasja to programowanie!
|
| Zobacz poprzedni temat :: Zobacz następny temat |
| Autor |
Wiadomość |
Qbikk
Dołączył: 05 Sty 2012 Posty: 3
|
Wysłany: Czw Sty 05, 2012 11:22 am Temat postu: Sprawdzenie schematu blokowego |
|
|
Witam. Jak ktos ma chwilke czasu to prosilbym o sprawdzenie tego schematu i wytkniecie bledow, sugestie lub korekte Wink
Zadanie brzmi tak: Proszę napisać funkcję, która dla tablicy jednowymiarowej o rozmiarze n, wyznacza punkt podziału tej tablice na dwie podtablice spełniające własność: minimalna wartość lewej podtablicy ( od indeksu 0 do indeksu k ) jest równa maksymalnej wartości prawej podtablicy( tej od indeksu k+1 do n-1). Jeśli istnieje taki podział, funkcja zwraca punkt podziału (indeks k). W przeciwnym przypadku zwraca wartość –1.
nr indeksu______ 0 1 2 3 4 5 6 7 Np. dla tablicy A={5,4,6,7,3,-4,4,0 } takim punktem podziału jest indeks k=3. Wartość minimalna lewej podtablicy od indeksu 0 do 3 wynosi 4. Maksymalna wartość w prawej podtablicy od indeksu 4 do 7 wynosi również 4.
A schemat wyglada tak: Treść posta przeniesiona do posta przez moderatora
Nie wiem czy mozna tak zrobic, ze pierw szukam min w L, potem max w P, a na koncu je porownuje.
Treść posta przeniesiona do posta przez moderatora. Po co rozbijasz posta na kilka serwisów!?
| Opis: |
|
 Pobierz |
| Nazwa pliku: |
Schemat.jpg |
| Wielkość pliku: |
67.49 KB |
| Pobierano: |
38 raz(y) |
|
|
| Powrót do góry |
|
 |
|
|
hurgadion
Dołączył: 06 Kwi 2011 Posty: 106 Skąd: Kraków
|
Wysłany: Czw Sty 05, 2012 2:13 pm Temat postu: |
|
|
Witam, Twój algorytm, z tego co się orientuje jest opisany dla jednego podziału tablicy, jeżeli nie przyniesie w I kroku skutku, to trzeba szukać następnego punktu podziału, itd. Ja bym chyba zrobił inaczej. Niech Twoja tablica to tbl, ma ona n elementów, tworzymy dwie (n-1)-elementowe tablice pomocnicze tblmin, tblmax.
| Kod: |  
 tblmin(i) = Min_(k=1..i){tbl(k)}
 tblmax(i) = Max_(k=n-i+1..n){tbl(k)}, i = 1, ... , n-1
 
|
Po utworzeniu obu tablic wystarczy porównywać utworzone tablice (do skutku), tzn. porównujemy element tblmin(i) z elementem tblmax(n-1-i) dla każdego i, nie wiem czy ten pomysł będzie przeciętnie szybszy od Twojej propozycji, ale na pewno jest ciut inny, pozdrawiam.
_________________ miasto analiz |
|
| Powrót do góry |
|
 |
izaw

Dołączył: 12 Wrz 2008 Posty: 1959 Skąd: Łódź
|
Wysłany: Czw Sty 05, 2012 5:00 pm Temat postu: |
|
|
A po co dodatkowe tablice?
Wystarczą dwa indeksy: na pierwszy i ostatni element. Przesuwasz się nimi do środka. I jak się spotkasz to masz podział wraz z miejscem, jeżeli nie to brak podziału.
A jakie warunki przesuwania? Wystarczy popatrzeć, trochę pokombinować na kartce i gotowe.
_________________ Program nie robi tego co chce programista, ale to co programista zaprogramował |
|
| Powrót do góry |
|
 |
hurgadion
Dołączył: 06 Kwi 2011 Posty: 106 Skąd: Kraków
|
Wysłany: Czw Sty 05, 2012 5:22 pm Temat postu: |
|
|
No to Qubikk chyba będzie malował nowy schemat :)
_________________ miasto analiz |
|
| Powrót do góry |
|
 |
Qbikk
Dołączył: 05 Sty 2012 Posty: 3
|
Wysłany: Pią Sty 06, 2012 11:19 am Temat postu: |
|
|
| Namaluje pozniej bo troszku malo czasu mam obecnie, ale napewnoe sie pochwale moim dzielem ;)
|
|
| Powrót do góry |
|
 |
ronin
Dołączył: 27 Kwi 2011 Posty: 39 Skąd: P-ń
|
Wysłany: Sob Sty 14, 2012 6:39 pm Temat postu: |
|
|
A co jeżeli będzie więcej niż jeden punkt podziału? Zwracać może dowolny, pierwszy napotkany?
_________________ Rozwiązania inżynierskie dla budownictwa - konstrukcje stalowe - projektowanie, wykonawstwo oraz montaż wysokościowy. |
|
| Powrót do góry |
|
 |
Qbikk
Dołączył: 05 Sty 2012 Posty: 3
|
|
| Powrót do góry |
|
 |
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Możesz dodawać załączniki na tym forum Możesz pobierać pliki z tego forum
|
 Debug: strone wygenerowano w 0.07167 sekund, zapytan = 9
|