Smash Opublikowano 11 Lutego 2006 Zgłoś Opublikowano 11 Lutego 2006 Witam! Napisałe f-cje która przeszukuje liste 2-kierunkowa pod katem nazwiska Gdy znajdzie zwraca wskaznik do rekordu data *find_nazwisko(struct data* wsk, struct data *pocz, char *szukaj){ wsk=pocz; do { if(strcmp(wsk->nazwisko,szukaj)==0) return wsk; else wsk=wsk->nastepny; }while(wsk!=NULL);} Pytania brzmią 1. W jaki sposob zrobić tak aby w momencie gdy na liscie beda dwa takie same nazwiska f-cja zwrociła oba wskazniki ? Po napotkaniu pierwszego jak na razie nastepuje wyjscie z fcji. 2. Założmy ze chcemy wyswietlic wszystkie nazwiska na K lub zaczynajace sie na 'Ka' jak to zrobić ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Nargil Opublikowano 11 Lutego 2006 Zgłoś Opublikowano 11 Lutego 2006 nie uzywac return tylko: a) wypisywac w na bierzaco w tej funkcji B) zrobic liste pomocnicza w ktorej umieszczac wskazniki na pasujace elementy i zwracac ja po przeleceniu (lol) wszystkich elementow listy ( za pomoca return ) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 13 Lutego 2006 Zgłoś Opublikowano 13 Lutego 2006 ja bym zrobił ( i tak robiłem w ostatnim projekcie) zwracal vector wskaźników np... jeśli wies co to wektor i .JEŚLI możesz go używać... bo raczej na początkowych stadiach edukacji nie uczą co to vector... to jest po prostu tak jakby tablica, do której wrzucasz sobie np kazde nowo znalezione nawisko (jego wskaźnik) i ta tablica pamieta ile jest jej elementów, i mozes z potem spokojnie sobie przejrzeć całą tablicę i wyświetlić wszystkie nazwiska... dokładniej ta tablica jest klasą.. jeśli nie wiesz co to klasa, a zapewne nie wiesz, to moze jednak daruj sobie to rozwiazanie. Innym rozwiazaniem jest: mozesz też przekazac jako parametr, wskaźnik na tablicę wskaźników na nazwisko np, oraz wskaźnik lub referencję na liczbę uzyskanych odpowiedzi... Wtedy po wyjsciu w zmiennej liczba bedziesz miał ilość takich samych nazwisk (o ile sobie to ustawisz w funkcji find_nazwisko - przyjęło się oznaczać funkcje bez znaku _, ja bym to nazwał raczej FindBySurname() - czytelne i wygodne.. :) ), oraz bedziesz miał tablicę w której kolejno umieszczonę bedą wskaniki do znalezionych elementów... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Smash Opublikowano 13 Lutego 2006 Zgłoś Opublikowano 13 Lutego 2006 (edytowane) ok dzieki troche skomplikowane pokombinuje cos i pewnie wróce niedługo z pytaniem :D Edytowane 13 Lutego 2006 przez Smash Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MeHow Opublikowano 16 Lutego 2006 Zgłoś Opublikowano 16 Lutego 2006 zwroc wskaznik na tablice wskaznikow. Ot po klopocie. A jesli to moze byc c++, to zwroc vector wskaznikow - najprosciej i najmniej awaryjnie. Jesli nie wiesz co to vector to zapytaj googla o std::vector , pierwszy czy drugi link jest odpowiedni, aby przyblizyc Ci tajniki tej struORT: ORT: ORT: ktury. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...