tanszek:oktatas:szamitastechnika:karakterlancok_stringek
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:szamitastechnika:karakterlancok_stringek [2025/10/06 08:06] – szabom | tanszek:oktatas:szamitastechnika:karakterlancok_stringek [2025/11/18 18:24] (current) – knehez | ||
|---|---|---|---|
| Line 66: | Line 66: | ||
| char eredmeny[100]; | char eredmeny[100]; | ||
| int j = 0; | int j = 0; | ||
| - | for (int i = 0; szoveg[i] != ' | + | for (int i = 0; strlen(szoveg); i++) { |
| if (szoveg[i] != ' ') { | if (szoveg[i] != ' ') { | ||
| eredmeny[j] = szoveg[i]; | eredmeny[j] = szoveg[i]; | ||
| Line 72: | Line 72: | ||
| } | } | ||
| } | } | ||
| - | eredmeny[j] = ' | ||
| printf(" | printf(" | ||
| } | } | ||
| </ | </ | ||
| - | 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 ' | ||
| - | | ||
| - | 7. Karaktertömb szavakra bontása | + | 6. 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! | A feladat: Írj egy programot, amely egy karaktertömbben lévő szavakat bontja fel, majd kiírja az egyes szavakat! | ||
| <sxh c> | <sxh c> | ||
| Line 116: | Line 112: | ||
| #include < | #include < | ||
| int main() { | int main() { | ||
| - | char szoveg[] = "A karaktertömb cseréje a programozásban."; | + | char szoveg[] = "A karaktertömb cseréje a programban."; |
| - | for (int i = 0; szoveg[i] != ' | + | for (int i = 0; strlen(szoveg); i++) { |
| if (szoveg[i] == ' | if (szoveg[i] == ' | ||
| szoveg[i] = ' | szoveg[i] = ' | ||
| Line 140: | Line 136: | ||
| } | } | ||
| </ | </ | ||
| - | Komplex feladatok: | ||
| - | Két mátrix összeszorzása | ||
| - | <sxh c> | ||
| - | #include < | ||
| - | #include < | ||
| - | #include < | ||
| - | #define MAX 100 | ||
| - | // Függvény a mátrix kiírásához | ||
| - | void printMatrix(int matrix[MAX][MAX], | ||
| - | for (int i = 0; i < rows; i++) { | ||
| - | for (int j = 0; j < cols; j++) { | ||
| - | printf(" | ||
| - | } | ||
| - | printf(" | ||
| - | } | ||
| - | } | ||
| - | // Függvény a két mátrix szorzatának kiszámításához | ||
| - | |||
| - | void multiplyMatrices(int matrix1[MAX][MAX], | ||
| - | // Ellenőrzés: | ||
| - | if (cols1 != rows2) { | ||
| - | printf(" | ||
| - | exit(1); // Kilépés hibakóddal | ||
| - | } | ||
| - | |||
| - | for (int i = 0; i < rows1; i++) { | ||
| - | for (int j = 0; j < cols2; j++) { | ||
| - | result[i][j] = 0; | ||
| - | |||
| - | for (int k = 0; k < cols1; k++) { | ||
| - | result[i][j] += matrix1[i][k] * matrix2[k][j]; | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | |||
| - | int main() { | ||
| - | // Véletlenszám inicializálása | ||
| - | srand(time(NULL)); | ||
| - | |||
| - | // Mátrix méreteinek bekérése | ||
| - | int rows1, cols1, rows2, cols2; | ||
| - | |||
| - | printf(" | ||
| - | scanf(" | ||
| - | |||
| - | printf(" | ||
| - | scanf(" | ||
| - | |||
| - | |||
| - | if (rows1 > MAX || cols1 > MAX || rows2 > MAX || cols2 > MAX) { | ||
| - | printf(" | ||
| - | return 1; // Kilépés hibakóddal | ||
| - | } | ||
| - | |||
| - | // Mátrixok létrehozása és inicializálása véletlenszámokkal | ||
| - | int matrix1[MAX][MAX], | ||
| - | |||
| - | for (int i = 0; i < rows1; i++) { | ||
| - | for (int j = 0; j < cols1; j++) { | ||
| - | matrix1[i][j] = rand() % 100; // Véletlenszám 0 és 99 között | ||
| - | } | ||
| - | } | ||
| - | |||
| - | for (int i = 0; i < rows2; i++) { | ||
| - | for (int j = 0; j < cols2; j++) { | ||
| - | matrix2[i][j] = rand() % 100; // Véletlenszám 0 és 99 között | ||
| - | } | ||
| - | } | ||
| - | |||
| - | // Eredeti mátrixok kiírása | ||
| - | printf(" | ||
| - | printMatrix(matrix1, | ||
| - | printf(" | ||
| - | printMatrix(matrix2, | ||
| - | |||
| - | // Mátrixok szorzata | ||
| - | multiplyMatrices(matrix1, | ||
| - | |||
| - | // Szorzat kiírása | ||
| - | printf(" | ||
| - | printMatrix(result, | ||
| - | |||
| - | return 0; // Sikeres végrehajtás | ||
| - | } | ||
| - | </ | ||
| - | Mátrix maximális részmátrix megtalálása | ||
| - | <sxh c> | ||
| - | #include < | ||
| - | #include < | ||
| - | #define MERET 100 | ||
| - | int matrix[MERET + 1][MERET + 1]; | ||
| - | int main() { | ||
| - | int n, bal, felso, jobb, also, i, j; | ||
| - | long max; | ||
| - | scanf(" | ||
| - | |||
| - | for (i = 0; i < n; i++){ | ||
| - | for (j = 0; j < n; j++){ | ||
| - | scanf(" | ||
| - | } | ||
| - | } | ||
| - | max = matrix[0][0]; | ||
| - | for (bal = 0; bal < n; bal++){ | ||
| - | for (felso = 0; felso < n; felso++){ | ||
| - | for (jobb = bal; jobb < n; jobb++){ | ||
| - | for (also = felso; also < n; also++) { | ||
| - | long osszeg = 0; | ||
| - | for (i = bal; i <= jobb; i++){ | ||
| - | for (j = felso; j <= also; j++){ | ||
| - | osszeg += matrix[i][j]; | ||
| - | } | ||
| - | } | ||
| - | if (osszeg > max){ | ||
| - | max = osszeg; | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | printf(" | ||
| - | } | ||
| - | </ | ||
tanszek/oktatas/szamitastechnika/karakterlancok_stringek.1759737970.txt.gz · Last modified: 2025/10/06 08:06 by szabom
