===== Karakterláncok (String) ===== 1. Karaktertömb hosszának meghatározása A feladat: Írj egy programot, amely egy karaktertömb hosszát határozza meg, és kiírja azt! #include #include int main() { char szoveg[] = "Hello, world!"; int hossz = strlen(szoveg); printf("A karaktertömb hossza: %d\n", hossz); } 2. Karakterek számolása egy karaktertömbben A feladat: Írj egy programot, amely megszámolja, hány 'e' karakter található egy adott karaktertömbben! #include int main() { char szoveg[] = "Hello, world!"; int count = 0; for (int i = 0; szoveg[i] != '\0'; i++) { if (szoveg[i] == 'e') { count++; } } printf("Az 'e' karakterek száma: %d\n", count); } 3. Két karaktertömb összefűzése A feladat: Írj egy programot, amely két karaktertömböt fűz össze, majd kiírja az eredményt! #include #include int main() { char szoveg1[] = "Hello, "; char szoveg2[] = "world!"; char eredmeny[100]; // Előre rögzített méretű karaktertömb strcpy(eredmeny, szoveg1); strcat(eredmeny, szoveg2); printf("Az összefűzött karaktertömb: %s\n", eredmeny); } 4. Karaktertömb megfordítása A feladat: Írj egy programot, amely egy karaktertömböt megfordít, majd kiírja az eredményt! #include #include int main() { char szoveg[] = "Hello, world!"; int hossz = strlen(szoveg); char megforditott[100]; for (int i = 0; i < hossz; i++) { megforditott[i] = szoveg[hossz - 1 - i]; } megforditott[hossz] = '\0'; printf("A megfordított karaktertömb: %s\n", megforditott); } 5. Karaktertömbben szóközök eltávolítása A feladat: Írj egy programot, amely egy karaktertömbből eltávolítja az összes szóközt, majd kiírja az eredményt! #include #include int main() { char szoveg[] = "Ez egy példa mondat szóközökkel."; char eredmeny[100]; // Előre rögzített méretű karaktertömb int j = 0; for (int i = 0; szoveg[i] != '\0'; i++) { if (szoveg[i] != ' ') { eredmeny[j] = szoveg[i]; j++; } } eredmeny[j] = '\0'; printf("A szóközök nélküli karaktertömb: %s\n", eredmeny); } 6. Karakterek számolása egy karaktertömbben rekurzióval A feladat: Írj egy programot, amely rekurzív függvény segítségével számolja meg, hány 'e' karakter található egy adott karaktertömbben! 7. Karaktertömb szavakra bontása A feladat: Írj egy programot, amely egy karaktertömbben lévő szavakat bontja fel, majd kiírja az egyes szavakat! #include #include int main() { char szoveg[] = "Ez egy példa mondat szóközökkel."; char* token = strtok(szoveg, " "); while (token != NULL) { printf("Szó: %s\n", token); token = strtok(NULL, " "); } } 8. Karakterek összehasonlítása A feladat: Írj egy programot, amely összehasonlítja két karaktertömb tartalmát, és kiírja, hogy azonosak-e! #include #include int main() { char szoveg1[] = "Hello, world!"; char szoveg2[] = "Hello, universe!"; if (strcmp(szoveg1, szoveg2) == 0) { printf("A két karaktertömb azonos.\n"); } else { printf("A két karaktertömb különbözik.\n"); } return 0; } 9. Karakterek cseréje egy karaktertömbben A feladat: Írj egy programot, amely egy karaktertömbben megcseréli az összes 'a' karaktert 'x' karakterre! #include #include int main() { char szoveg[] = "A karaktertömb cseréje a programozásban."; for (int i = 0; szoveg[i] != '\0'; i++) { if (szoveg[i] == 'a') { szoveg[i] = 'x'; } } printf("Az 'a' karakterek cseréje után: %s\n", szoveg); } 10. Karaktertömb összehasonlítása egy mintaszöveggel A feladat: Írj egy programot, amely egy karaktertömbben keres egy adott mintaszöveget, majd kiírja, hogy megtalálható-e benne! #include #include int main() { char szoveg[] = "Ez egy példa mondat szóközökkel."; char mintaszoveg[] = "példa"; if (strstr(szoveg, mintaszoveg) != NULL) { printf("A mintaszöveg megtalálható a karaktertömbben.\n"); } else { printf("A mintaszöveg nem található a karaktertömbben.\n"); } }