Informatika3-2024/Gyakorlat3

A MathWikiből
(Változatok közti eltérés)
(Zárójelezés)
(Zárójelezés)
52. sor: 52. sor:
 
==== Zárójelezés ====
 
==== Zárójelezés ====
  
Írjunk C függvényt, mely kap egy C string-et és egy '''n''' pozitív egész számot. A string-bõl törli '''n''' mélységig a zárójeleket. Feltételezhetjük, hogy nincsenek pár nélküli zárójelek és zárójelek nem metszenek egymásba, de több zárójel lehetséges. Például
+
Írjunk C függvényt, mely kap egy C string-et és egy '''n''' pozitív egész számot. A string-bõl törli '''n''' mélységig a zárójeleket. Feltételezhetjük, hogy nincsenek pár nélküli zárójelek és zárójelek nem metszenek egymásba, de egymásba ágyazott és független zárójelek lehetnek. Például
 
  ((Volt egyszer) egy) (kis)kutya.
 
  ((Volt egyszer) egy) (kis)kutya.
 
Ebbõl az 1 mélységig törlés a következõt eredményezné:
 
Ebbõl az 1 mélységig törlés a következõt eredményezné:

A lap 2024. február 29., 08:56-kori változata

Tartalomjegyzék

Feladatok

Minden feladathoz nyiss új projektet IDE-ben vagy írd új file-ba ha parancssorból dolgozol!

C string

Elemezzük ez a kis kódot:

#include <stdio.h>
 
int main() {
    char str[] = "puppy";
    printf("The word is %s.\n", str);
 
    return 0;
}

Próbáljuk meg kiírni az str tömb elemeit egyesével mintha egész számok lennének (%d printf-ben)! Az str-nek 6 eleme van (annak ellenére, hogy csak 5 karakterbõl áll).

Beolvasni is tudunk string-et, de ehhez egy elõre létrehozott kellõen nagy char tömb kell:

char str[100];
scanf("%s", str);

Tehát a string-ek valójában karakter tömbök, melyek végén egy úgynevezett lezáró nulla karakter áll. Ennek a karakter kódja '\0'. Egy szokásos string bejáró for ciklus:

for(i = 0; str[i] != '\0'; i++) {
    printf("%c", str[i]);
}


A következõ feladatokban ne használjunk könyvtári függvényeket, még ha ismerjük is õket. Csak az stdio.h-t használjuk.

Karakter számoló

Írjunk függvényt mely kap egy C string-et és egy karaktert (char) és visszaadja, hogy az adott karakter hányszor szerepel a string-ben.

Leggyakoribb karakter

Írjunk függvényt mely kap egy C string-et és visszaadja az abban található leggyakoribb karaktert.

Súlypont

Írjunk C programot, mely beolvas a felhasználótól tetszõleges számú, de maximum 10 három dimenziós koordinátát és kiszámolja a súlypontjukat (koordináták átlaga). A beolvasás megáll, ha a (0,0,0) pontot adjuk meg (és ez a pont nem lesz része a számolásnak).

Karakter törlõ

Írjunk C függvényt, mely kap két C string-et és az elsõbõl törli a 2.-ban elõforduló összes karaktert. Például a "kiskutya", "ky" bementre "isuta"-ra változtatja az eredeti 1. string-et.

Zárójelezés

Írjunk C függvényt, mely kap egy C string-et és egy n pozitív egész számot. A string-bõl törli n mélységig a zárójeleket. Feltételezhetjük, hogy nincsenek pár nélküli zárójelek és zárójelek nem metszenek egymásba, de egymásba ágyazott és független zárójelek lehetnek. Például

((Volt egyszer) egy) (kis)kutya.

Ebbõl az 1 mélységig törlés a következõt eredményezné:

(Volt egyszer) egy kiskutya.

A 2 mélységi:

Volt egyszer egy kiskutya.
Személyes eszközök