===== 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");
}
}