You are on page 1of 2

A 5.

laboratórium anyaga

Kódfejtőként dolgozik és legújabb megbı́zása egy kilenc kapuból álló rendszerbe való bejutás. Minden
kapunál kap egy adatot, amelyen a megfelelő algoritmust lefuttatva, megkapható a jelszó. Írjon minden
egyes algoritmushoz egy függvényt, amely kiı́rja a képernyőre a jelszót!
Minden kapuhoz megadunk egy bemenetet. Futtassa le a megfelelő kódolt függvényt az adatra. A
laborvezetőtől megtudhatja, hogy sikerült-e megtalálni a helyes jelszót.

1. A kapott adat egy előjel nélküli egész szám (unsigned). A jelszó egy bináris szám, amelyet a
bemenet minden harmadik bitjének előállı́tásával nyerünk. Az elkészı́tendő függvény ı́rja ki a
megfelelő biteket, az első a legalacsonyabb helyiértékű legyen.

Adat: 31591

2. Egy előjel nélküli egész számot kap. Ennek a bitszerinti logikai ÉS kapcsolatát kell venni azzal
a számmal, amelynek értéke a számban szereplő egyes értékű bitek száma.

Adat: 2047

3. Egy null-végű stringet kap. A jelszó a szövegben szereplő karakterek száma.

Adat: Napfeny altal at nem jart zold vilag

4. Egy null-végű stringet kap. A string egy központozás nélküli szöveget tartalmaz, amelyben
minden szót pontosan egy darab szóköz karakter követ. A jelszó a szövegben lévő szavak száma.

Adat: "VégülÃegyÃAlbatroszÃröpültÃfelénkÃtisztultÃaÃködÃ"

5. A bemenő adat egy szöveg, amelyben minden betű kódolva van. Minden betű helyett az a betű
áll, amely pontosan olyan messze van a ’z’ betűtől, mint amilyen messze az eredeti betű az ’a’-tól.
A szöveg az angol abc kisbetűiből áll. Vigyázat, csak a betűk vannak kódolva, a szöveg többi
karaktere változatlanul szerepel!
Például a ’b’ betűből ’y’ lesz, a ’,’ marad változatlan.

Adat: nvtgzozogzw z qvohalg!

6. Két adatot kap: egy null-végű stringet és egy nem-negatı́v egész számot. A szöveg is egy ilyen
számot tartalmaz. Számolja ki a szövegesen adott szám értékét és vegye a másik számmal a
logikai XOR (Kizáró VAGY) értékét.

Adatok: ”26789”, 1234

7. Két null-végű stringet kap. Az elsőt kell dekódolni a második segı́tségével. Az első minden
egyes karakterét el kell tolni az abc-ben a második soron következő karakterének az abc-beli
sorszámával (pl. az ’a’ betűé: 1). Ha elér a második string végéig, akkor elölről kell kezdeni.
Amennyiben az eredmény karakter a ’z’ után lenne, úgy a számolást ’a’-tól kell újrakezdeni. A
bemenetben csak az angol abc kisbetűi szerepelnek.

1
Például ha a dekódolandó szöveg soron következő karaktere ’y’, a kódoló stringé pedig ’b’, akkor
az eredmény karakter ’a’ lesz, hiszen ’y’ az utolsó előtti betű az abc-ben, ’b’ pedig a második.

Adatok: ”dx w ddjpvj”, ”abcdef”

8. Egy nem-negatı́v null-végű stringet kap, ami egy lebegőpontos valós számot tartalmaz
tizedesponttos alakban. A jelszó a valós szám tizedének a négyzete.

Adat: ”17.7245385”

9. Kap egy null-végű stringet, egy egészekből álló tömböt és annak méretét. A stringnek az első
karakterét (0. indexű) mindenképp ı́rassa ki, majd innentől kezdve az indexet mindig tolja el a
tömb soron következő elemével és a megfelelő karaktert ı́rassa ki.

Adat: "uaysgveÃ" , {4, -2, 4, -3, 4, -2, -4, 3, -2}, 9