A 6. laborat´ orium anyaga 1. ´Irjon egy olyan f¨ uggv´enyt, amely k´epes a param´eterk´ent – megfelel˝oen – ´atvett, eg´esz sz´amokat t´arol´o v´altoz´o mem´oriabeli c´ım´et ´es ´ert´ek´et is ki´ırni a k´eperny˝ore. Tipp: A v´altoz´o c´ım´et (mutat´ ot) ´erdemes ´atvenni, hiszen annak seg´ıts´eg´evel az ´ert´ek el´erhet˝o, ford´ıtva viszont nem.
2. ´Irjon C programot, amely egy sztringet ´es egy karaktert vesz ´at, ´es visszaadja a karakter sztringbeli els˝o ´es utols´o el˝ofordul´as´anak hely´et. Tipp: Mivel egy f¨ uggv´eny csak egy ´ert´eket tud visszaadni, ez´ert a m´asikat egy, a param´eterlist´an, a c´ım´evel ´atvett v´altoz´oba ´erdemes bet¨olteni.
3. ´Irjon C f¨ uggv´enyt, amely c´ım´evel vesz ´at k´et sztringet ´es visszat´er az els˝o sztring els˝o olyan karakter´enek c´ım´evel, amely a m´asodikban is szerepel. 4. ´Irjon egy C f¨ uggv´enyt, amely egy t¨omb¨ot vesz ´at, ´es a seg´ıts´eg´evel bebizony´ıthat´o, hogy a t¨ombelemeket a mem´ori´aban folytonosan t´arolja a g´ep. 5. ´Irjon C f¨ uggv´enyt, amelynek a megh´ıv´as´aval k´et eg´esz t´ıpus´ u v´altoz´o ´ert´eke felcser´elhet˝o. P´elda: printf("a: csere(... printf("a:
%d
b:
%d
b:
%d", a, b); /* a: 4 b: 27 */ /* A f¨ uggv´ eny megh´ ıv´ asa */ %d", a, b); /* a: 27 b: 4 */
6. ´Irjon C programot, amely parancsori param´eterk´ent megkap k´et f´ajl nevet. Az els˝o f´ajl a forr´as, a m´asodik a c´el. A forr´asb´ol ´ırja ´at a sz¨oveget a c´elba u ´gy, hogy a szekvenci´ak helyett egy darab sz´ok¨ozt ´ır. Minden m´ast v´altozatlanul lem´asol. 7. ´Irjon C f¨ uggv´enyt, amelynek a seg´ıts´eg´evel meg tudja mondani, hogy egy k´etdimenzi´os t¨omb¨ot a g´ep sorfolytonosan vagy oszlopfolytonosan t´arole-e el. 8. ´Irjon C f¨ uggv´enyt, amely egy t¨omb¨ot vesz ´at param´eterk´ent. Tudjuk, hogy a t¨omb elemei egy adott pontt´ol kezdve elkezdenek ism´etl˝odni az elej´er˝ol kezdve. Keresse meg az ism´etl˝od˝o szakasz elej´et ´es adja visssza ennek az elemnek a c´ım´et. P´eld´ aul az al´ abbi t¨ ombn´el a 7-es index˝ u t¨ ombelem c´ım´et kell visszaadni. 0 1 2 3 4 5 6 7 8 9 10 22, 14, 56, 71, 18, 69, 32, 22, 14, 56, 71
9. ´Irjon sztringeket tokeniz´al´o f¨ uggv´enyt. A f¨ uggv´eny k´et sztringet vesz ´at. Az els˝o egy sz¨ovegr´eszletet tartalmaz, a m´asodik pedig a sz´ohat´arol´o karaktereket. Darabolja fel szavakra az els˝o sztringet ´es helyezze be egy dinamikusan foglalt t¨ombbe, amelynek a kezd˝oc´ım´evel t´erjen vissza a f¨ uggv´eny.