Van erre megoldás?
Adott egy kutatócsoport, ami mindig legalább egy, maximum négy tagból állhat. Minden tag elfoglal a csoportban egy-egy pozíciót, amik sorszámozva vannak, 1-től 4-ig.
A tagok ők: FONOK, TIBI, BOB, IDA, ATTI, GABI
A tagok csak bizonyos szabályok alapján foglalhatnak el egy-egy pozíciót.
Ezek a szabályok:
0. Ha bármely pozíció üres, akkor az utána következő, magasabb sorszámú pozíciók is üresek.
1. Az 1. pozíción csak FONOK vagy IDA lehet.
2. Ha 1. pozíción IDA van, akkor nem lehet a 2.,3.,4. pozíciókon semmi.
3. Ha 1. pozíción FONOK van, akkor a 2. pozíció nem lehet üres és nem lehet IDA, de lehet TIBI, BOB, ATTI vagy GABI.
4. Ha 2. pozíción GABI van, akkor a 3.,4. pozíciókon nem lehet semmi.
5. Ha 2. pozición nem GABI van, akkor a 3. pozíción csak IDA lehet.
6. Ha 3. pozíción IDA van, akkor a 4. pozíción csak BOB, TIBI, ATTI vagy GABI állhat.
Erre kéne valami nyelven valami logikát írni, alkotni.
Hát akkor nem is értem, ha csak ellenőrizni kell, akkor ez nem más lényegében, hogy írsz egy metódust, ami bemenetként megkapja mondjuk egy tömbben azt, hogy ki milyen pozíción van, utána pedig visszaadsz valami eredményt (mondjuk egy true értéket), ha minden rendben van. Az ellenőrzésekre meg írhatsz egy-egy if függvényt és ennyi.
Nem tudok szép pszeudo kódot írni, de neked valami ilyen kell:
Ellenorzes(beosztasok)
{
var eredmeny = true;
// 1. Az 1. pozíción csak FONOK vagy IDA lehet.
if (beosztasok[0] !== 'FONOK' || beosztasok[0] !== 'IDA')
eredmeny = false;
// 2. Ha 1. pozíción IDA van, akkor nem lehet a 2.,3.,4. pozíciókon semmi.
if (beosztasok[0] === 'IDA' && (beosztasok[1] !== NULL && beosztasok[2] !== NULL ... ))
eredmeny = false;
// többi ellenőrzés
return eredmeny;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!