Ahoj,
včera jsem zde zakládal téma ohledně semestrální práce. Byla mi ohodnocena jako už tak vyhovující, ale pořád by se dalo něco zlepšit. Dostalo se mi takovéto odpovědi od učitele:
"int jeVPoli(tPamatka **polePamatek, tPamatka *pamatka); - myšlenka OK, ALE!!!, neporovnávejte však adresy řetězců, ale celé řetězce. Nevím co bylo přesně vaším záměrem, ale pokud byste si ukládal do pole kopie záznamů tento způsoby by nebyl funkční."
Nějak mu nerozumím, co tím myslel. Abych vás uvedl do problému. tPamatka je struktura, která vypadá takto:
typedef struct pamatka
{
char pamatka[21];
tGPS gps;
struct pamatka *dalsi;
} tPamatka;
Funkce jeVPoli je napsaná takto:
int jeVPoli(tPamatka **polePamatek, tPamatka *pamatka)
{
int i;
for(i = 0; i < 3; i++)
{
if(polePamatek[i]->pamatka == pamatka->pamatka)
{
return 0;
}
}
return 1;
}
Jejím úkolem je prohledat pole památek o maximální velikosti 3 památek (mám najít 3 nejbližší památky s daným GPS souřadnicím) a zkontrolovat, zda se v něm památka nachází. Reakce učitele tedy je (pokud dobře rozumím), že porovnávám adresy dvou památek místo jejich řetězců. Mě to však není jasné. V "ifu" porovnávám památku na pozici "i" s jejím názvem s památkou předanou parametrem a jejím názvem.
Díky za rady