Kręcę się wokół własnego ogona od 2 dni. Rozpocząłem naukę programowania (0,5 roku temu)od C++ i jestem na poziomie 1 tomu Grębosza. Zdawać by się mogło, że bez większego problemu ugryzę listę zadań 'Algorytmów' z 2 roku studiów pisanych w C. I jeśli zadania dotyczą tablic, prostych funkcji to ok.
Mam listę 11 zadań, gdzie struktura danych będzie zdefiniowana jako:
typedef struct osoba
{struct osoba *w_nast;
int waga;
}OSOBA, *WSKOSOBA;
Proszę o komentarz do tej struktury jak ją czytać.
Mam też rozwiązanych 5 zadań z tej listy. Proszę o skomentowanie, wytłumaczenie co dzieje się w każdej linijce najkrótszego kodu jaki wybrałem do 1 zadania. Bym mógł jakoś ruszyć dalej.
Zadanie 1 Napisać funkcję, która kasuje pierwszych n (parametr) elementów listy jednokierunkowej.
WSKOSOBA ROOT;
void kasuj_1(void);
{wskosoba pom;
if(ROOT=null)return
pom=ROOT;
ROOT=ROOT->w_nast;
}free(pom);
dalej jest pętla for wywołująca tę funkcję.
lub
Zadanie 2 Napisać funkcję, która kasuje elementy listy jednokierunkowej o pewnych cechach (np. waga > 50)
WSKOSOBA find (int cecha);
{
WSKOSOBA wsk;
if ( ROOT == NULL) return (null);
wsk = ROOT;
while (wsk -> w_nast != null && wsk->w_nast-> waga <=cecha)
{
wsk=wsk->w_nast;
}
if (wsk ->w_nast==null) return (null);
return(wsk);
void kasuj_2 (int cecha)
{wskosoba wsk;
while (1)
wsk=find (cecha);
if (wsk!= null)
{pom=wsk->w_nast;
wsk->w_nast=pom->w_nast;
} free(pom);
else
{
if (ROOT:=null)
{
if (ROOT->waga=<cecha)
}
}
break;
Proszę o wytłumaczenie jak do konia, tak jak mnie przyzwyczaił Grębosz.