Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

C - Zabawa karnawałowa
Idź do strony Poprzedni  1, 2, 3, 4, 5  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Algorytmy i Struktury Danych
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Robson
zielony żul



Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów

Skąd: Z Lasu :]

PostWysłany: Czw 20:47, 16 Mar 2006    Temat postu:

Ja to niemoge a niech to jeden błąd miałem - niezanilowanie wskaznika do listy pociagów po zrobienu CleanUp !!! Arghhh :evil:
No niech to Chuck Kopnie!
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Czw 21:08, 16 Mar 2006    Temat postu:

Anonymous napisał:
Mozecie mi wyjasnic po co mielibysmy zakladac cos takiego (tresc zadania C):
Mozesz załozyc, ze pociagi o nazwach Train1 w danym momencie zabawy nie istnieja oraz, ze pociagi o nazwach Train2 i Train3 w danym
momencie juz istnieja.


Hehe, tez mialem troche zagwozdki co to znaczy... Chodzi o to ze jak masz wypisane te przykladowe komendy to tam sa uzyte nazwy Train1, 2 i 3. I chodzi o to ze masz zagwaranotwane ze jak Ci kaza zrobic nowy pociag o nazwie kaczka to taki pociag jeszcze nie istnieje. A jak ci kaza zrobic print, front, delback czy co tam jeszcze na jakims pociagu to on juz istnieje weic nie ma obawy ze go nie znajdziesz...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Robson
zielony żul



Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów

Skąd: Z Lasu :]

PostWysłany: Czw 21:22, 16 Mar 2006    Temat postu:

Aha dzieki wszystkim za informacje o tym Unixie bo bym pewnie do jutra kombinował... THX :) człowiek widać uczy sie całe zycie
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gość







PostWysłany: Czw 21:26, 16 Mar 2006    Temat postu:

aha, dzieki hansu :]
Powrót do góry
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Czw 22:30, 16 Mar 2006    Temat postu:

Madras napisał:
Połącz się telnetem, wklep "cd /users/sgistudent/2005/kwiatekm/testerka/io/A-in" , a następnie "dir". Wybierz z listy nazwę pliku i wpisz "cat test.in > /users/sgistudent/2005/twojekonto/test.in". No a potem już normalnie FTP'em możesz ściągnąć.

1. telnet sucks. use ssh (putty)
2. cat służy do listowania pliku, więc swoją drogą pewnie będzie wolniejsze niż komenda cp test.in ~twojlogin/

Mała porada:
man <inna komenda> wyswietla manual danego programu/komendy;
~ oznacza katalog domowy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Czw 22:42, 16 Mar 2006    Temat postu:

Wreszcie przeszło... :twisted:

Moja rada: wszędzie gdzie to jest możliwe a nie jest pewne, że robi się automatycznie inicjalizujcie wskaźniki na nil. Ot taka głupota, żeby po zwolnieniu pamięci ostatniego elementu na liście, wartość next elementu przedostatniego (a po zwolnieniu pamięci ostatniego) ustawić na nil...

I rada numer dwa: Trzeba koniecznie ustawić typy zmiennych do których wczytujemy nazwy na string[8] (albo coś analogicznego jak tablica char). Ja na początku miałem zwykłe stringi i zastanawiałem się dlaczego mi pamięci brakuje :lol:
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gość







PostWysłany: Czw 23:06, 16 Mar 2006    Temat postu:

Zaraz zwariuje. Mam problem, otoż w jednyj chwili mi sie wszystko pieknie kompilowalo i dzialalo a w drugiej mi przy kazdym "new(wskaznik)" wyskakuje blad przy kompilacji "type identifier expectect" i "Illegal expresion" :/ nie zrobilam zadnej procedury o nazwie new niewiem czemu tak sie robi;(
Powrót do góry
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gość







PostWysłany: Czw 23:33, 16 Mar 2006    Temat postu:

juz wiem :) dzieki exeman za pomoc =)
Powrót do góry
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Hetman
pijak



Dołączył: 06 Gru 2005
Posty: 127
Przeczytał: 0 tematów

Skąd: Ustka/Kraków

PostWysłany: Pią 8:24, 17 Mar 2006    Temat postu:

Sprawdzarka nie jest chyba za dobra...na testerce na tescie 70_100000 wywala mi TLE, ale i tak dostalem OK ;)

Heh, grunt ze zaliczony
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
domis86
[świeżak]



Dołączył: 17 Mar 2006
Posty: 23
Przeczytał: 0 tematów

Skąd: Brzesko

PostWysłany: Pią 11:02, 17 Mar 2006    Temat postu:

Panowie:)
[link widoczny dla zalogowanych]
obczajcie te czasy;P (patrz:frankowi w rankingu)

Moj program ma union liniowy (lol?)
jak jeden pociag jest odwrocony a drugi nie to zamienia wszystkie wskazniki w krotszym i dopiero dolacza:)
A i tak jest najszybszy z tych na testerce:) hahahahahahahah
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Pią 12:25, 17 Mar 2006    Temat postu:

Cholera, wyprzedziliscie mnei w rankingu C :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Pią 13:45, 17 Mar 2006    Temat postu:

domis86 napisał:
Panowie:)
[link widoczny dla zalogowanych]
obczajcie te czasy;P (patrz:frankowi w rankingu)

Moj program ma union liniowy (lol?)
jak jeden pociag jest odwrocony a drugi nie to zamienia wszystkie wskazniki w krotszym i dopiero dolacza:)
A i tak jest najszybszy z tych na testerce:) hahahahahahahah


Szczerze mowiac nie masz sie z czego cieszyc bo i tak Ci cwiczeniowiec nie zaliczy tego... Ten program to nie wyscigi tylko "cwiczenie dydaktyczne"... Zreszta testy do tego zadania sa lipne na athinie... w znaczeniu niewyzylowane...

Hetman napisał:
Sprawdzarka nie jest chyba za dobra...na testerce na tescie 70_100000 wywala mi TLE, ale i tak dostalem OK


Timelimity na sprawdzarce sa ustawione tak troche na strzala... Nie ma zadnej wzorcowki ani nic... Wiec jesli cos Wam nie przechodzi przez TLE to ustawiajcie -nolimit po prostu. A sprawdzarka jest bardzo dobra. Duzo lepsza od athiny powiedzialbym :D
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
ostoj
Przewijak Tasmy



Dołączył: 08 Lis 2005
Posty: 883
Przeczytał: 0 tematów

Skąd: Tychy

PostWysłany: Pią 14:00, 17 Mar 2006    Temat postu:

takie pytanie mnie nurtuje - jak najlepiej zrealizowac wypisywanie pociagu skladajacego sie z dwoch, w ktorych jeden jest odwrocony? bo mam 2 pomysly ale nie wiem czy to w ogole przejdzie, tzn czy uzyskam akceptacje. pierwszy to po prostu powolac jakis dodatkowy wskaznik w momencie laczenia pociagu normalnego z odwroconym ktory by wskazywal na miejsce polaczenia i gdyby sie od niego doszlo to by sie zmienilo kierunek poruszania po wskaznikach. drugi to dorobienie dodatkowego pola w osobie, ktory by pelnil podobna role, tzn mowil czy mamy isc po prev czy next. te pomysly to tak pi razy drzwi. czy to nie odbije sie jakos na pamieci, i czy to w ogole ma szanse zostac zaakceptowane przez cwiczeniowcow?
jakie wy macie pomysly? w jaki sposob to realizujecie?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Pią 14:04, 17 Mar 2006    Temat postu:

Ostoj, musze Cie zmartwic, ale nam cwiczeniowiec wprost powiedzial ze te dwa sposoby sa niedozwolone. Nie wolno Ci uzywac ZADNEJ dodatkowej pamieci...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
domis86
[świeżak]



Dołączył: 17 Mar 2006
Posty: 23
Przeczytał: 0 tematów

Skąd: Brzesko

PostWysłany: Pią 15:15, 17 Mar 2006    Temat postu:

hansu napisał:


Szczerze mowiac nie masz sie z czego cieszyc bo i tak Ci cwiczeniowiec nie zaliczy tego... Ten program to nie wyscigi tylko "cwiczenie dydaktyczne"... Zreszta testy do tego zadania sa lipne na athinie... w znaczeniu niewyzylowane...



Dobra, ale czy to nie dziwne ze moj program z liniowym unionem jest szybszy?
PS:czy lepiej pisac wolne programy ze zlozonoscią o(1) czy szybkie z o(n) (LOL) :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Pią 15:28, 17 Mar 2006    Temat postu:

To tylko swiadczy o tym ze nie ma na naszej sprawdzarce testow ktore rzeczywiscie by sprawdzaly zlozonosc... Bo i po co? Tam sa testy poprawnosciowe i ew. na przepelnienie sterty - to co jest nam potrzebne. Jestem pewien ze udaloby mi sie skonstruowac testy na ktorych Twoj program bylby duzo wolniejszy wlasnie dlatego ze ma liniowy union...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Pią 15:53, 17 Mar 2006    Temat postu:

Co do zadanka C bardzo mi pomogła dodatkowa procedurka, mniej więcej taka:

Procedure Next(prev, current: ^pole): ^pole;

Jeśli current^.prev=prev to Next=current^.next
wpp. Next=current^.prev;

Chodzi o to, że procedurka dostaje wskaźnik do pola (current) i wskaźnik do poprzednika pola (prev), a zwraca następnik pola current. Całe jej działanie opiera się na sprawdzeniu, czy wskaźnik current^.prev rzeczywiście wskazuje na poprzednik currenta - jeśli tak to wszystko jest normalnie a current^.next wskazuje na następnik. Jeśli nie to znaczy że wskaźniki są odwrócone, czyli następnik jest w current^.prev.

Jej użycie mocno uprościło mój kod 8)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Madras
Omylny Admin



Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów

Skąd: Z Pokoju :]

PostWysłany: Pią 15:56, 17 Mar 2006    Temat postu:

Na tych testach jest szybszy. Ale dowalę Ci taki test, że będzie 1000x wolniejszy ;].
Cytat:
Ostoj, musze Cie zmartwic, ale nam cwiczeniowiec wprost powiedzial ze te dwa sposoby sa niedozwolone. Nie wolno Ci uzywac ZADNEJ dodatkowej pamieci...

Tyle, że zależy jakiego masz ćwiczeniowca ;]. Bo nie każdemu się chce szczegółowo sprawdzać, czy przypadkiem nie użyłeś jednej zmiennej za dużo ;P.
inna sprawa, że to rzeczywiście da się napisać bez dodatkowych zmiennych.
Idziesz na front, patrzysz po której stronie masz nil'a i idziesz w przeciwną. Idziesz dopóki kolejny jest różny od tego, od którego przyszedłeś. Jeśli tak, to idziesz po prevach obecnego aż sytuacja się powtórzy i tak w kółko.
Chyba ekstremalnie mało zrozumiale to napisałem, ale jeśli będzie zapotrzebowanie, to mogę przełożyć na bardziej ludzki język ;].


Ostatnio zmieniony przez Madras dnia Sob 11:41, 18 Mar 2006, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Robson
zielony żul



Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów

Skąd: Z Lasu :]

PostWysłany: Pią 17:25, 17 Mar 2006    Temat postu:

Opis Madrasa jest bardzo dobry i przejżysty jak dla mnie jeszcze tylko opis union by się przydał:
łączysz pociagi t2 i t3
bierzesz to na co pokazuje t2^.Head.Last sprawdzasz czy next jest nilem jesli tak to przypisujesz go do t3^.head.first; w przec. przypadku ustawiasz na ten t3^.head.first preva. Teraz patrzysz na t3^.head.first,jesli prev jest nilem to ustawiasz go na t2^.head.last wpp ustawiasz na to nexta. teraz tylko t2^.head.last = t3^.head.last i mozesz usunąc info o pociągu t3 z listy pociagów.

A do ostoja: no ale jak bedziesz direction pamiętał w osobach to zeby je wszystkie odwrocić będziesz potrzebował i tak liniowego czasu na REVERSE... chyba że sie bardzo nakombinujesz.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
domis86
[świeżak]



Dołączył: 17 Mar 2006
Posty: 23
Przeczytał: 0 tematów

Skąd: Brzesko

PostWysłany: Pią 18:35, 17 Mar 2006    Temat postu:

hansu napisał:
Jestem pewien ze udaloby mi sie skonstruowac testy na ktorych Twoj program bylby duzo wolniejszy wlasnie dlatego ze ma liniowy union...


A prosze Cie bardzo:)
Jak narazie to twój wymieka :wink:
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Saimi
pijak



Dołączył: 22 Lis 2005
Posty: 149
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Pią 22:11, 17 Mar 2006    Temat postu:

Mógłby mi ktoś powiedzieć, co może powodować błąd RD8 (FreePascal Runtime 216 - General protection fault) w tym zadanku?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Rogal
Zjeb z kaszanką



Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów

Skąd: koło podbiegunowe

PostWysłany: Pią 22:16, 17 Mar 2006    Temat postu:

Albo próbujesz coś zrobić ze wskażnikiem który ma wartość nil (np. odczytać jego wartość, albo jego poprzednik) albo odwołujesz się do pola w tablicy które nie istnieje, np. tablica jest [1..100] a ty odwołujesz się do pola nr. 101 albo pola 0.

W tym zadanku najbardziej prawdopodobne jest że masz błąd ze wskaźnikiem, czyli on już jest nil a ty chcesz coś jeszcze na nim robić i jest błąd.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Pią 22:17, 17 Mar 2006    Temat postu:

Jesli nie uzywasz zadnej tablicy (a podejrzewam ze tak wlasnie jest :D) to gpf najprawdopodobniej wyskakuje przy odwolywaniu sie do pustego wskaznika...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Saimi
pijak



Dołączył: 22 Lis 2005
Posty: 149
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Pią 22:45, 17 Mar 2006    Temat postu:

Hmm... Dzięki bardzo, panowie. :) Będę musiał pogrzebać jeszcze trochę w kodzie. Błąd wydaje się być dość subtelny. Mam nadzieję, że usunięcie go nie obniży mi wydajności, bo na razie mam całkiem niezłe [link widoczny dla zalogowanych] na testerce.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Pią 23:04, 17 Mar 2006    Temat postu:

o wydajnosc to Ty sie nie martw... Ja na tym ostatnim tescie mialem ponad 15 sekund a Mateo prawie 20 i nam przeszlo... To nie jest zadanie ktore ma nas nauczyc optymalizacji...
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Algorytmy i Struktury Danych Wszystkie czasy w strefie EET (Europa)
Idź do strony Poprzedni  1, 2, 3, 4, 5  Następny
Strona 3 z 5

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie 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

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin