Witam, mam do napisania program na zaliczenie. Dało by się to zrobić jedną listą, ale wtedy bedzie to strasznie naciągane i niefajne. Wpadłem na pomysł, żeby rozwiązać to listą podwieszaną. Lista główna to lista osób (nicków). Od każdego nicku ma się rozgałęziać lista czasów które dana osoba osiąga (chodzi o czasy ułożenia kostki rubika :P no nie ważne). Póki co mam działająca funkcje dodawania czasów, nie wiem jak połączyć ją z listą główną. Jak przekazać ten wskaźnik z listy osób do listy czasów, czyli mówiąc krótko jak je połączyć. Ma być w C, nie może być w C++ :)
Struktury są takie:
struct OSOBA
{
double nick;
struct OSOBA *nast;
struct CZASY *pierwszy;
};
struct CZASY
{
double lczas;
struct CZASY *nast;
};
struct CZASY* DodajCzas(struct CZASY *glowa, double x)
{
struct CZASY *nowy = (struct CZASY*)malloc(sizeof(struct CZASY));
struct CZASY *tmp;
tmp = glowa;
nowy->lczas = x;
if (glowa == NULL)
{
nowy->nast = NULL;
glowa = nowy;
}
else
{
while (glowa->nast != NULL)
{
glowa = glowa->nast;
}
glowa->nast = nowy;
nowy->nast = NULL;
glowa = tmp;
}
return glowa;
}
struct OSOBA* DodajOsobe(struct CZASY *glowa,struct OSOBA *glowa2, char nick[10])
{
struct OSOBA *nowy = (struct OSOBA*)malloc(sizeof(struct OSOBA));
struct OSOBA *tmp;
tmp = glowa2;
nowy->nick = nick;
if (glowa2 == NULL)
{
nowy->nast = NULL;
glowa2 = nowy;
}
else
{
while (glowa2->nast != NULL)
{
glowa2 = glowa2->nast;
}
glowa2->nast = nowy;
nowy->nast = NULL;
glowa2 = tmp;
}
nowy->pierwszy = glowa;
return glowa2;
}
P.S. Wiem, że ten char nie zadziała, ale dałem poki co zeby było wiadomo że to ma być nick.