tanszek:oktatas:szamitastechnika:vektorok_matrixok
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tanszek:oktatas:szamitastechnika:vektorok_matrixok [2025/10/01 13:32] – created szabom | tanszek:oktatas:szamitastechnika:vektorok_matrixok [2025/11/07 16:40] (current) – [Gyakorlás] szabom | ||
|---|---|---|---|
| Line 122: | Line 122: | ||
| pritnf(" | pritnf(" | ||
| return 0; | return 0; | ||
| + | } | ||
| </ | </ | ||
| Line 142: | Line 143: | ||
| for (int i = 1; i < n; ++i) { | for (int i = 1; i < n; ++i) { | ||
| if (v[i] < min) { | if (v[i] < min) { | ||
| - | min = a[i]; | + | min = v[i]; |
| minIdx = i; | minIdx = i; | ||
| } | } | ||
| if (v[i] > max) { | if (v[i] > max) { | ||
| - | max = a[i]; | + | max = v[i]; |
| maxIdx = i; | maxIdx = i; | ||
| } | } | ||
| Line 176: | Line 177: | ||
| szamlalo++; | szamlalo++; | ||
| } | } | ||
| - | if (szamlalo == 0) printf(" | + | if (szamlalo == 0){ printf(" |
| - | else printf(" | + | else {printf(" |
| return 0; | return 0; | ||
| } | } | ||
| Line 243: | Line 244: | ||
| for (int i = 0; i < n; ++i) { | for (int i = 0; i < n; ++i) { | ||
| if (a[i] != b[i]) { | if (a[i] != b[i]) { | ||
| - | printf(" | + | printf(" |
| return 0; | return 0; | ||
| } | } | ||
| Line 292: | Line 293: | ||
| int main(void) { | int main(void) { | ||
| int m, n; | int m, n; | ||
| - | printf(" | + | printf(" |
| scanf(" | scanf(" | ||
| Line 308: | Line 309: | ||
| for (int i = 0; i < m; i++) { | for (int i = 0; i < m; i++) { | ||
| for (int j = 0; j < n; j++) { | for (int j = 0; j < n; j++) { | ||
| - | t[j][i] = a[i][j]; | + | t[i][j] = a[j][i]; |
| } | } | ||
| } | } | ||
| Line 437: | Line 438: | ||
| printf(" | printf(" | ||
| return 0; | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **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/vektorok_matrixok.1759325520.txt.gz · Last modified: 2025/10/01 13:32 by szabom
