User Tools

Site Tools


tanszek:oktatas:szamitastechnika:karakterlancok_stringek

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
tanszek:oktatas:szamitastechnika:karakterlancok_stringek [2025/10/06 08:06] szabomtanszek:oktatas:szamitastechnika:karakterlancok_stringek [2025/10/13 09:07] (current) szabom
Line 140: Line 140:
 } }
 </sxh> </sxh>
-Komplex feladatok: 
-Két mátrix összeszorzása 
-<sxh c>  
-#include <stdio.h> 
-#include <stdlib.h> 
-#include <time.h> 
-#define MAX 100 
-// Függvény a mátrix kiírásához 
-void printMatrix(int matrix[MAX][MAX], int rows, int cols) { 
-    for (int i = 0; i < rows; i++) { 
-        for (int j = 0; j < cols; j++) { 
-            printf("%d\t", matrix[i][j]); 
-        } 
-        printf("\n"); 
-    } 
-} 
  
-// Függvény a két mátrix szorzatának kiszámításához 
- 
-void multiplyMatrices(int matrix1[MAX][MAX], int rows1, int cols1, int matrix2[MAX][MAX], int rows2, int cols2, int result[MAX][MAX]) { 
-    // Ellenőrzés: a két mátrix szorzatának megfelelő mérete 
-    if (cols1 != rows2) { 
-        printf("A ket matrix szorzatanak merete nem megfelelo.\n"); 
-        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("Adja meg az elso matrix meretet (sor oszlop): "); 
-    scanf("%d %d", &rows1, &cols1); //C99 előtt két sorba kell írni, két scanf (codeblock) 
- 
-    printf("Adja meg a masodik matrix meretet (sor oszlop): "); 
-    scanf("%d %d", &rows2, &cols2); //C99 előtt két sorba kell írni, két scanf (codeblock) 
- 
- 
-    if (rows1 > MAX || cols1 > MAX || rows2 > MAX || cols2 > MAX) { 
-        printf("A megadott méret túl nagy. Maximum méret: %d\n", MAX); 
-        return 1; // Kilépés hibakóddal 
-    } 
- 
-    // Mátrixok létrehozása és inicializálása véletlenszámokkal 
-    int matrix1[MAX][MAX], matrix2[MAX][MAX], result[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("Eredeti elso matrix:\n"); 
-    printMatrix(matrix1, rows1, cols1); 
-    printf("\nEredeti masodik matrix:\n"); 
-    printMatrix(matrix2, rows2, cols2); 
- 
-    // Mátrixok szorzata 
-    multiplyMatrices(matrix1, rows1, cols1, matrix2, rows2, cols2, result); 
- 
-    // Szorzat kiírása 
-    printf("\nA ket matrix szorzata:\n"); 
-    printMatrix(result, rows1, cols2); 
- 
-    return 0; // Sikeres végrehajtás 
-} 
-</sxh> 
-Mátrix maximális részmátrix megtalálása 
-<sxh c>  
-#include <stdio.h> 
-#include <stdlib.h> 
-#define MERET 100 
-int matrix[MERET + 1][MERET + 1]; 
-int main() { 
-    int n, bal, felso, jobb, also, i, j; 
-    long max; 
-    scanf("%d", &n); 
- 
-    for (i = 0; i < n; i++){ 
-        for (j = 0; j < n; j++){ 
-            scanf("%d", &matrix[i][j]); 
-        } 
-    } 
-    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("%ld\n", max); 
-} 
-</sxh> 
tanszek/oktatas/szamitastechnika/karakterlancok_stringek.txt · Last modified: 2025/10/13 09:07 by szabom