Autor Zpráva
Millos
Profil
Zadané:
H = je množina prvkov P1 až Px
Z1 , Z2 , Z3 ... Zx = sú množiny, kde každá obsahuje prvky P1 až Px


Potreboval by som algoritmus, ktorým by sa dala porovnať množina H s množinami Z1 ... Zx
Pričom, všetky množiny by obsahovala hodnoty (prvky), kde P1 až Px
Po porovnaní by mali byť množiny Z1 ... Zx zoradené zostupne
- primárne
Na prvom mieste bude množina Zx, ktorej prienik s H = vsetkym prvkom, ktoré obsahuje H (10 z 10 prvkov)
Na druhom bude Zy, kde prienik s H bude napr. 9 z 10 prvkov H atd.

- Sekundárne
ak prienikom množín Zx s množinou H a Zy s množinou H bude rovnaky počet prvkov (napr. 10 z 10), o lepšom umiestnení bude rozhodovať to, akú precentuálnu časť prvkov jednotlivých množín tvorí prienik s množinou H, čím výššie percento, tým vyššie umiestnenie.
Napr. Zx má prvky A,B,C a Zy má prvky A,B,C,D,F,N. Ďalej H má prvky A,B,C,W.
Čiže prienik Zx a H = A,B,C tj. 3 prvky a tj. 100% prvkov množiny Zx
A prienik Zy a H = A,B,C tj. rovnako 3 prvky ale tj. 50% prvkov množiny Zy
Preto bude v tabuľke vyššie Zx

Prvky v množinách budu textové reťazce s dĺžkou do 100 znakov.
shaggy
Profil
Na inom fóre ti tú tému zamkli, pretože ty nehľadáš algoritmus, ty hľadáš človeka, ktorý ti to urobí.
O programovaní nevieš nič, nič si neskúšal, neprejavil si vlastnú iniciatívu. Prečo si myslíš, že to niekto bude za teba celé robiť? Veď si sa ani len na nič neopýtal.
Pochop, že ak nevieš programovať a ani nechceš pre to urobiť, tak to patrí sem Práce a zakázky
Majkl578
Profil
Zadání nevypadá nikterak složitě.
Pokud by šlo o implementaci v PHP, triviální (ale tím i zřejmě neoptimální) řešení by spočívalo v použití vhodných kombinací cyklů a funkcí in_array, array_intersect, array_diff a count, množina bude samozřejmě pole.
Millos
Profil
Majkl dakujem pomohlo mi to a shaggy tvoja prezieravost je obdivuhodna.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0