( log69 | 2012. 01. 26., cs – 09:27 )

Teljesen átírtam mindkét algoritmust. A mostanival már nincs jelszó újrakérés (ha az elkészűlt jelszó nem felel meg a feltételeknek), hanem egy menetben lefut az egész, és így gyorsult.

Meg a "Q" betűt is kivettem, mert irásban az is hasonlíthat a nagy "O"-hoz vagy nullához.

Első függvénynél a szabályok:
- minimum 1 kisbetű kell
- minimum 1 nagybetű kell
- minimum 1 szám kell

Másodiknál a szabályok:
- csak 1 nagybetű kell
- csak 1 szám kell
- minimum 1 kisbetű kell
- maximum 2 magánhangzó követheti egymást ha nem egyeznek, kivéve "ee"
- maximum 2 mássalhangzó követheti egymást, ha egyeznek, vagy a kivételi lista alapján

Ezek alapján a fentit is úgy oldottam meg, hogy lekértem 1 kisbetűt, 1 nagybetűt és 1 számot mindenképpen a jelszóba, majd hozzákértem a többit véletlenszerűen, az eredményben pedig összekevertem a karakter sorrendet.

A második is hasonló elv alapján, csak bekavart (nem kicsit) az, hogy a magánhangzókat és mássalhangzókat is külön csoportban kell a végén összekeverni, ráadásul a külön típusok helye megmaradjon - mindez azért, hogy nehogy az összekeverés után egymás mellé kerüljön 2-nél több magánhangzó például. Majd a számot még beszúrtam véletlen szerűen valahova.