Témakör: Sztringek


7.1 .  Sztringek összehasonlítása (saját strcmp)

Webmester felhasználó Írjon és deklaráljon C függvényt, amely összehasonlít két, paraméterként kapott NULL terminált sztringet! Az eredményt visszatérési értékként adja vissza, ha a két sztring azonos, akkor (és csak akkor) nullával térjen vissza! Nem használhatja a string.h állomány beépített függvényeit!

2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


7.2 . megoldással  Sztring megfordítása

Webmester felhasználó Deklaráljon és írjon C függvényt, amelynek bemenete egy sztring és kimenete a bemeneti sztring fordítottja! A kimenetet ne visszatérési értékként adja vissza, válasszon más megoldást! A helyfoglalás a hívó dolga. A feladat megoldásához nem használhatja a string.h állomány függvényeit.

2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.3 .  Sztring kisbetűsítése

Webmester felhasználó Deklaráljon és írjon C függvényt, amelynek bemenete egy sztring, kimenete a bemeneti sztring kisbetűkre konvertálva. A szövegben csak az angol ábécé betűit kell kicserélni, amelyek a számjegyekhez hasonlóan folytonosan helyezkednek el a karakterkészletben. A kimenetet ne visszatérési értékként adja vissza, válasszon más megoldást! A helyfoglalás a hívó dolga. Pl.: "1%23acYfZ" -> "1%23acyfz".

2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


7.4 .  Sztringek összefűzése (saját strcat)

Webmester felhasználó Írjon és deklaráljon C függvényt, amely összefűz két, paraméterként kapott NULL-terminált sztringet! Az eredményt ne visszatérési értékként adja vissza, válasszon más módszert! Nem használhatja a string.h állomány beépített függvényeit!

2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.5 .  Tetszőlegesen nagy számok összeadása

Webmester felhasználó Írjon C függvényt, amely összead két tetszőlegesen hosszú pozitív decimális számot! A függvény a két számot paraméterként (nullával lezárt karaktersorozat /string/) kapja. Az eredményt a bemenethez hasonlóan, stringben adja vissza, aminek lefoglalása a hívó feladata. A bemeneti ill. kimeneti karaktersorozatokban a 0. helyen van a legnagyobb helyiérték.

void osszead(char *ptag1, char *ptag2, char *eredmeny);





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.6 .  Bit stuffing

Webmester felhasználó Írjon és deklaráljon C függvényt, amely egy nulla végű sztringben, amely egyes karaktereket (’1’) és nullákat (’0’) tartalmaz, minden egymást követő ötödik egyes után beír egy nullát (’0’)! Az eredmény számára a függvény foglal helyet, a hívónak a free függvénnyel fel kell szabadítania a visszakapott mutatót. (Mivel itt a hívó nem tudja az eredmény hosszát, a függvény foglal memóriát.)

Pl: 11110111011111110011 -> 111101110111110110011

(Ez egyébként egy elterjedt kódolási módszer telekommunikációnal, bővebben lásd: http://en.wikipedia.org/wiki/Bit_stuffing)



2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.7 .  Sztring keresése sztringben

Webmester felhasználó Deklaráljon és írjon C függvényt, amelynek bemenete két sztring. A függvény megkeresi az első sztringben a második sztring összes előfordulását kisbetűkre és nagybetűkre érzékenyen (azokat megkülönböztetve kezeli). A függvény kimenete egy int tömb, amely a második sztringben az első sztring egyes előfordulásainak pozícióit tárolja, az utolsó elem utáni -1 érték jelzi a tömb végét. A kimenetet ne visszatérési értékként adja vissza, válasszon más megoldást! A helyfoglalás a sztringek esetében a hívó dolga, a kimeneti tömbnek a függvény foglal helyet, a hívónak a free() függvénnyel kell a lefoglalt tárhelyet felszabadítania.

Pl.: "ABCABCABC", "BC" -> {1,4,7,-1}.



2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.8 . megoldással  Palindrom

Webmester felhasználó Készítsen programot, mely a billentyűzetről beolvas egy legfeljebb 20 karakterből álló szót, és megállapítja róla, hogy az palindrom-e (a szó előlről illetve hátulról olvasva megegyezik).


2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


7.9 .  Sztring hossza (saját strlen)

Webmester felhasználó Implementálja a sztring_hossz függvényt, mely egy C sztringet kap paraméterként, és visszaadja a sztring hosszát. A sztring hosszába ne számolja bele a lezáró \0 karaktert.

int sztring_hossz( char* sztring )





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


7.10 .  Sztring másolása

Webmester felhasználó Implementálja a sztring_masol függvényt, mely két C sztringet kap paraméterként, és az egyik (forrás sztring) tartalmát belemásolja a másikba (cél sztring). Figyeljen a cél sztring \0-val való lezárására.

void sztring_masol( char* forras, char* cel )





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


7.11 .  Sztring megfordítása másolás közben

Webmester felhasználó Implementálja a sztring_masolvafordit függvényt, mely két C sztringet kap paraméterként (cél és forrás), és a forrássztring tartalmát megfordítva a célsztringbe másolja. Figyeljen a célsztring \0-val való lezárására.

void sztring_masolvafordit( char* forras, char* cel )




2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.12 .  Sztring megfordítása helyben

Webmester felhasználó Implementálja a sztring_fordit függvényt, mely egy C sztringet kap paraméterként, és annak tartalmát megfordítja. (Tehát, ha a függvény bemenő sztring paramétere “Peti” értékű, akkor a függvény lefutása után a sztring étéke “iteP” legyen.)

void sztring_fordit( char* sztring )





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.13 .  Karaktercsere

Webmester felhasználó Implementálja a sztring_csere függvényt, mely bemenetként két C sztringet (forrás és cél) és két karaktert (régi és új) kap. A függvény feladata, hogy a forrás sztring tartalmát úgy másolja át a cél függvénybe, hogy másolás közben a régi karaktereket az új karaterekre cseréli. (Például, ha a forrás sztring értéke “seb”, a régi karakter értéke  ‘b’, az új karakter értéke ‘m’, akkor a cél sztring “sem” lesz.)

void sztring_csere(char* forras,char* cel,char regi,char uj)





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.14 .  Karakter keresése

Webmester felhasználó Implementála a sztring_keres függvényt, mely bementként egy C sztringet és egy karakter kap. A függvény feladata megállapítani, hogy az adott karater szerepel-e a sztringben. Ha igen, akkor visszatérési értékként adja vissza a karakter pozícióját, különben adjon vissza -1-et.

int sztring_keres( char* sztring, char karakter )





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


7.15 .  Sztring tördelése adott karakter mentén

Webmester felhasználó Implementálja a sztring_tordel függvényt, mely bementként egy C sztringet és egy karaktert kap. A függvény feladata, hogy a sztringet az adott karater mentén feldarabolja és az így eredményül kapott sztring tömböt visszaadja. Az eredmény sztringekbe ne kerüljön be a karakter, mely mentén a darabolás történik. (Példa: ha a bemenő sztring értéke “A bagoly ragaszkodó állat”, a bemenő karakter értéke pedig ‘ ’ (szóköz), akkor a kimenet egy sztring tomb, melynek négy eleme van: “A”, “bagoly”, “ragaszkodó”, “állat”.)

char** sztring_tordel( char* sztring, char karakter )





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.16 .  Rész-sztring másolás

Webmester felhasználó Implementálja a sztring_resz függvényt, mely bemenő paraméterként két C sztringet (forrás és cél) és két egész számot (kezdet és vég) kap. A függvény feladata, hogy a forrás sztring tartalmának a kezdet pozíciótól a vég pozicióig terjedő részét a cél sztringbe másolja. Figyeljen a cél sztring \0-val történő lezárására. Ha a kezdet és cél értékek olyan poziciókat jelölnek, mely a forrás sztringben nem található (mert például rövidebb, mint a megadott pozíció), akkor a függvény térjen vissza 0-val (hiba), különben 1-gyel (sikeres lefutás).

int sztring_resz(char* forras,char* cel,int kezdet,int veg )





2007.08.29. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.17 .  Karakterek számolása

Webmester felhasználó Írjon függvényt, mely két paramétert kap: egy sztringet és egy karaktert, a visszatérési értéke egy egész szám, mely megadja, hogy hányszor szerepel a sztringben a megadott karakter.

2007.09.07. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak:


7.18 .  Tetszőlegesen nagy szám osztható-e hárommal

Webmester felhasználó Írjon programot, mely parancssori argumentumnként megkap egy tetszőlegesen nagy számot, majd kiírja, hogy osztható-e hárommal. (Tipp: egy szám akkor osztható hárommal, ha a számjegyeinek összege osztható hárommal.)

2007.09.07. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje


7.19 .  Tetszőlegesen nagy szám osztható-e tizeneggyel

Webmester felhasználó Írjon programot, mely parancssori argumentumnként megkap egy tetszőlegesen nagy számot, majd kiírja, hogy osztható-e tizeneggyel. (Tipp: egy szám akkor osztható tizeneggyel, ha a számjegyeinek váltakozó előjellel vett összege [Például: 121 -> +1-2+1] osztható tizeneggyel.)

2007.09.07. |  Permalink  |  Hozzászólások: 0  |  Tárgyszavak: példa szintje