Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Skrócony regulamin

Sprawdzenie schematu blokowego



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Algorytmy + inżynieria oprogramowania
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Qbikk



Dołączył: 05 Sty 2012
Posty: 3

PostWysłany: Czw Sty 05, 2012 11:22 am      Temat postu: Sprawdzenie schematu blokowego Odpowiedz z cytatem Pisownia

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!?



Schemat.jpg
 Opis:

Pobierz
 Nazwa pliku:  Schemat.jpg
 Wielkość pliku:  67.49 KB
 Pobierano:  38 raz(y)

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
hurgadion



Dołączył: 06 Kwi 2011
Posty: 106
Skąd: Kraków

PostWysłany: Czw Sty 05, 2012 2:13 pm      Temat postu: Odpowiedz z cytatem Pisownia

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
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Numer GG
izaw



Dołączył: 12 Wrz 2008
Posty: 1959
Skąd: Łódź

PostWysłany: Czw Sty 05, 2012 5:00 pm      Temat postu: Odpowiedz z cytatem Pisownia

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
Zobacz profil autora Wyślij prywatną wiadomość
hurgadion



Dołączył: 06 Kwi 2011
Posty: 106
Skąd: Kraków

PostWysłany: Czw Sty 05, 2012 5:22 pm      Temat postu: Odpowiedz z cytatem Pisownia

No to Qubikk chyba będzie malował nowy schemat :)
_________________
miasto analiz
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Numer GG
Qbikk



Dołączył: 05 Sty 2012
Posty: 3

PostWysłany: Pią Sty 06, 2012 11:19 am      Temat postu: Odpowiedz z cytatem Pisownia

Namaluje pozniej bo troszku malo czasu mam obecnie, ale napewnoe sie pochwale moim dzielem ;)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
ronin



Dołączył: 27 Kwi 2011
Posty: 39
Skąd: P-ń

PostWysłany: Sob Sty 14, 2012 6:39 pm      Temat postu: Odpowiedz z cytatem Pisownia

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
Zobacz profil autora Wyślij prywatną wiadomość
Qbikk



Dołączył: 05 Sty 2012
Posty: 3

PostWysłany: Nie Sty 22, 2012 2:29 pm      Temat postu: Odpowiedz z cytatem Pisownia

W poleceniu nie ma napisane, zeby znalezc wszystkie punkty, tylko po prostu zeby znalezc, wiec chyba moze byc pierwszy napotkany.
I takie cos mi wyszlo jak juz uruchomilem kredki i sie wzialem do roboty ;) zerknie ktos?



Schemat.png
 Opis:

Pobierz
 Nazwa pliku:  Schemat.png
 Wielkość pliku:  35.47 KB
 Pobierano:  16 raz(y)

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Algorytmy + inżynieria oprogramowania Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
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
contact

| Darmowe programy i porady Jelcyna | VB4all | Tansze zakupy w Helionie |