Jeśli nie masz problemów z analizowaniem, logicznym myśleniem i umiejętnością rozbijania problemów na małe, części składowe to powinieneś dać rade.
Wersja do druku
Jeśli nie masz problemów z analizowaniem, logicznym myśleniem i umiejętnością rozbijania problemów na małe, części składowe to powinieneś dać rade.
pomoze mi ktos z ta moja lista?
@up
dodaj strażnika i atrapę na początku, będzie znacznie ładniej kod wyglądał, bo bez warunków brzegowych.
Wrzuć potem kod.
Daj przykładowe wejście.
Dlaczego nie działa?
no nie dziala sortowanie, czyt. nie wstawia w dobrym miejscu. a jak kompiluje sobie w glowie to wstawia tam w dobrym miejscu ;s
@Kusterek ;
Jak na moje to jest blad tutaj:
powinno byc:Kod:if(pom->nast==NULL)
{
wsk->poprz = pom;
pom->nast = wsk;
}
Moze znajde cos jeszcze zaraz, ale tutaj mi wlasnie zle sie wydaje jak robie na kartce rozpiskeKod:if(pom->nast==NULL)
{
pom->poprz = wsk;
wsk->nast = pom;
}
Po prostu nie sortowało. Problem leżał po tej stronie, że jeżeli znalazło wartość ostatnią jako niepasującą tj. mniejszą od wczytanej wartości. To warunek
i tak się spełniał i wartość odkładało na końcu.Kod:if(pom->nast==NULL);
Zrobiłem już, działa nawet jeżeli wartość wczytana później jest najmniejsza.
No i wczytując dane takie:Kod:while(!feof(f))
{
wsk = (struct para*)malloc(sizeof(struct para));
wsk->nast = NULL;
wsk->poprz = NULL;
fscanf(f,"%d %s %f",&wsk->nr_indeksu,&wsk->nazwisko,&wsk->ocena);
printf("%d %s %f\n",wsk->nr_indeksu,wsk->nazwisko,wsk->ocena);
if (poczatek == NULL)
poczatek = wsk;
else
{
pom = poczatek;
while(pom->nr_indeksu < wsk->nr_indeksu && pom->nast !=NULL)
pom = pom->nast;
if(pom->nr_indeksu > wsk->nr_indeksu && pom->nast==NULL)
{
wsk->nast = pom;
if(pom!=poczatek)
pom->poprz->nast = wsk;
else
poczatek = wsk;
pom->poprz = wsk;
}
else if(pom->nast==NULL)
{
wsk->poprz = pom;
pom->nast = wsk;
}
else
{
if(pom!=poczatek)
{
pom->poprz->nast=wsk;
pom->poprz = wsk;
wsk->poprz = pom->poprz;
}
else
{
poczatek = wsk;
pom->poprz = wsk;
}
wsk->nast = pom;
}
}
}
udało się je wczytwać jako posortowane :)Cytuj:
82705 Kustra 3
82703 Kuklinski 2
82702 Trzoch 5
82701 Kaminski 2
82707 Amrit 4
82704 Trochimiak 3
82708 Kwiatkowska 5
82706 Kulpa 3
@up
tamto bylo dobrze :) odkładało wiersz na sam koniec jeżeli nie znalazło wartości większych, ale owszem w tych okolicach był błąd bo "przyszły" przedostatni traktowało jako ostatni.
Przykład:
dane: 1, 2, 4, 3, 6;
Znalazło, ze 3 jest mniejsze od 4 ale z racji, że 4->nast == NULL to odłożyło go na sam koniec.
Wniosek z cyklu Reinventing the wheel:
Odpowiedni dobor muzyki potrafi zwiekszyc efektywnosc pracy. Znalazlem na YT jakis mix muzyki chyba elektronicznej typu "concentration" i faktycznie przez godzine calkowicie sie wylaczylem i poswiecilem nauce i pracy. Inna sprawa to, ze gdy tylko pojawia sie slowa lub nietypowy dzwiek to sie rozpraszam i skupiam na tym dzwieku.
A jak to wyglada u Was? Sluchacie jakiegos konkretnego gatunku, radia, a moze wolicie cisze?
Jak mam fazę odpowiednia, to potrafię po kilku godzinach się zorientowac, że leci z kompa a nie radia, albo że lista się skończyła. Po prostu jak jest na glosnikach to do mnie nie dociera
Ja polecam muzyka filmowa z http://open.fm/ :D
Przecież szulak co chwila wysyla mi jakieś disco polo xD
Zaraziłem się przez to, ogółem słucham wszystkiego co popadnie
Nie chodzi mi o walory artystyczne itp Ja bym mogl sluchac nawet One Direction, jesli faktycznie pomagaloby mi sie skoncentrowac.
U mnie wyglada to tak:
- sluchawki (mam SH HD201 i oprocz kabla jestem zadowolony) - calkiem dobrze wyciszaja.
- puszczam np to http://www.youtube.com/watch?v=svngvOLPd5E
- muzyka wywoluje we mnie pelna koncentracje, nie ma wniej slow, bebnienia, jest jednostajna i nie przeszkadza
Gdybym sluchal Disco Polo to nie wykluczone, ze po jakims czasie podspiewywalbym pod nosem dziwne slowa