tanszek:oktatas:szamitastechnika:karakterlancok_stringek
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
tanszek:oktatas:szamitastechnika:karakterlancok_stringek [2025/10/06 08:06] – szabom | tanszek:oktatas:szamitastechnika:karakterlancok_stringek [2025/10/13 09:07] (current) – szabom | ||
---|---|---|---|
Line 140: | Line 140: | ||
} | } | ||
</ | </ | ||
- | 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.txt · Last modified: 2025/10/13 09:07 by szabom