Witam,
Mam w swoim programie zrobic taki ranking produktow, ktore najczesciej wystepuja w przepisach do najmniej wystepujacego. Ktos podsunie jakis pomysl jak to zrobic?
Kombinowalem cos takiego:
int liczba_produktow_ranking=0;
if(licznik_przepisow==0)
{
printf("Nie wczytano zadnych przepisow.\n");
return;
}
int i, j, a;
for(i=0; i<licznik_przepisow; i++)
{
for(j=0; j<ilosc_skladnikow_danego_dania[i]; j++)
{
tab2[i].tab1[j].nazwa_produktu;
liczba_produktow_ranking++;
}
}
for(a=0; a<liczba_produktow_ranking; a++)
{
for(i=0; i<licznik_przepisow; i++)
{
for(j=0; j<ilosc_skladnikow_danego_dania[i]; j++)
{
}
}
}
}
- Wpierw zliczylem sobie ile ogolnie jest produktow (niewazne czy sie powtarzaja czy nie) we wszystkich przepisach.
- Teraz zastanawiam się co z tym zrobic dalej? Myslalem nad wjazdem do dwuwymiarowej tablicy znakow gdzie liczba_produktow_ranking to liczba elementow tej tablicy, ale nie wiem czy to dobry pomysl?
Moze stworzyc nowa liste jednokierunkowo pod ten ranking i tam powrzucac wszystko, ale tez nie wiem czy to dobre rozwiazanie, ktos moze robil takie cos?
@Edit
Taki pomysl bedzie dobry?
Jezeli wykombinuje liste jednokierunkowa na ktorej dane beda typu strukturalnego - nazwa_produktu oraz liczba calkowita
Wrzuce kazdy produkt z kazdego dania na to liste, potem bede przejezdzal przez calo liste i sprwadzal czy dane produkty sie powtarzaja jak sie powtarzaja to zwiekszam liczebe calkowita o 1 i usuwam produkt ktory sie powtorzyl i tak dalej i potem na podstawie tych liczb calkowitych bd mozna okreslic ktory produkt najczesciej wystepuje?