tanszek:oktatas:muszaki_informatika:matrixok_kezelese
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:muszaki_informatika:matrixok_kezelese [2025/02/12 09:52] – knehez | tanszek:oktatas:muszaki_informatika:matrixok_kezelese [2025/03/13 22:32] (current) – [Ellenőrző kérdések] knehez | ||
|---|---|---|---|
| Line 243: | Line 243: | ||
| for (int i = 0; i < MAX_OSZLOP; i++) | for (int i = 0; i < MAX_OSZLOP; i++) | ||
| { | { | ||
| - | sum += (*(*(A + sor) + i)) * (*(*(B + i) + oszlop)); | + | sum += A[sor][i] * B[i][oszlop]; |
| } | } | ||
| - | | + | C[sor][oszlop] = sum; |
| } | } | ||
| } | } | ||
| Line 262: | Line 262: | ||
| </ | </ | ||
| - | **8. feladat:** Írja át az előző példában a sum += (*(*A + sor .... -t az egyszerűbb indexes A[i][j]- alakra! | + | **8. feladat: ** Oldjuk meg nem négyzetes mátrixokkal is a mátrix összeadós |
| - | <sxh c> | + | |
| - | sum += A[sor][i] * B[i][oszlop]; | + | |
| - | </ | + | |
| - | + | ||
| - | **9. feladat: ** Oldjuk meg nem négyzetes mátrixokkal is a feladatot, valamint dinamikus memória kezeléssel: | + | |
| <sxh c> | <sxh c> | ||
| Line 355: | Line 350: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ** 9. feladat **: vizsgáljuk meg a llama chat model c implementációját: | ||
| + | |||
| + | ===== Ellenőrző kérdések ===== | ||
| + | |||
| + | **Mi a helyes deklaráció egy 3×3-as egész mátrix létrehozására C-ben?** | ||
| + | |||
| + | A) int matrix[3][3]; | ||
| + | B) int matrix[9]; | ||
| + | C) int matrix[3, | ||
| + | D) matrix int[3][3]; | ||
| + | |||
| + | Megoldás: A | ||
| + | |||
| + | ---- | ||
| + | **Mi lesz a következő kódrészlet eredménye? | ||
| + | |||
| + | <sxh c> | ||
| + | int matrix[2][2] = {{1,2}, {3,4}}; | ||
| + | printf(" | ||
| + | </ | ||
| + | |||
| + | A) 1 | ||
| + | B) 2 | ||
| + | C) 3 | ||
| + | D) 4 | ||
| + | |||
| + | Megoldás: C (az első sor nulladik eleme, ami a 3, hiszen a sorok is 0-tól indulnak. | ||
| + | |||
| + | ---- | ||
| + | **Milyen ciklusszerkezet alkalmas egy kétdimenziós mátrix minden elemének bejárására? | ||
| + | |||
| + | A) Egyetlen for-ciklus | ||
| + | B) Egymásba ágyazott for-ciklusok | ||
| + | C) while ciklus, egyetlen feltétellel | ||
| + | D) Nincs szükség ciklusra | ||
| + | |||
| + | Megoldás: B | ||
| + | |||
| + | ---- | ||
| + | **Mi lesz a kód eredménye? | ||
| + | <sxh c> | ||
| + | int arr[3][3] = {{1, | ||
| + | printf(" | ||
| + | </ | ||
| + | |||
| + | A) 2 | ||
| + | B) 4 | ||
| + | C) 6 | ||
| + | D) 8 | ||
| + | |||
| + | Megoldás: C --> 2. sor 3. eleme, ami a 6-os. | ||
| + | |||
| + | ---- | ||
| + | **Melyik állítás igaz az alábbiak közül?** | ||
| + | |||
| + | A) A C-ben a mátrix sorainak száma opcionális deklarációkor. | ||
| + | B) Mátrixokat nem lehet paraméterként átadni függvényeknek. | ||
| + | C) Mátrix elemei mindig ugyanazt a típust tárolják. | ||
| + | |||
| + | Megoldás: C | ||
| + | |||
| + | ---- | ||
| + | **Hogyan adunk át egy mátrixot paraméterként egy függvénynek C-ben helyesen?** | ||
| + | |||
| + | A) void fuggveny(int matrix[][]) | ||
| + | B) void fuggveny(int **matrix) | ||
| + | C) void fuggveny(int matrix[][3]) | ||
| + | D) void fuggveny(matrix int[3][3]) | ||
| + | |||
| + | Megoldás: C --> második dimenzió méretét kötelező megadni | ||
| + | |||
| + | ---- | ||
| + | **Hogyan érhető el az alábbi mátrix legutolsó eleme (9) az alábbi deklarációból? | ||
| + | |||
| + | <sxh c> | ||
| + | int mat[3][3] = {{1, | ||
| + | </ | ||
| + | |||
| + | A) mat[9] | ||
| + | B) mat[3][3] | ||
| + | C) mat[2][2] | ||
| + | D) mat[3][2] | ||
| + | |||
| + | Megoldás: C --> mivel az indexelés 0-tól indul | ||
| + | |||
| + | ---- | ||
| + | **Mit csinál az alábbi kód?** | ||
| + | |||
| + | <sxh c> | ||
| + | int mat[3][3] = {0}; | ||
| + | </ | ||
| + | |||
| + | A) Lefoglal egy 3x3-as mátrixot véletlenszerű értékekkel. | ||
| + | B) Lefoglal egy 3x3-as mátrixot nullákkal feltöltve. | ||
| + | C) Csak a mátrix első elemét inicializálja 0-ra. | ||
| + | D) Csak a mátrix első sorát tölti fel nullával. | ||
| + | |||
| + | Megoldás: B -> a modern c-ben ezzel a szintaktikával lehet nullákkal feltölteni egy mátrixot. | ||
| + | |||
| + | ---- | ||
| + | ** Hogyan lehet helyesen dinamikusan lefoglalni egy 5×5-ös mátrixot? ** | ||
| + | |||
| + | A) int mat[5][5] = malloc(25 * sizeof(int)); | ||
| + | B) | ||
| + | <sxh c> | ||
| + | int **mat = malloc(5 * sizeof(int *)); | ||
| + | for(int i = 0; i < 5; i++) | ||
| + | mat[i] = malloc(5 * sizeof(int)); | ||
| + | </ | ||
| + | C) int *mat[5] = malloc(sizeof(int) * 25); | ||
| + | D) int mat[][] = malloc(5*5*sizeof(int)); | ||
| + | |||
| + | Megoldás: B | ||
| + | |||
| + | ---- | ||
| + | **Hogyan kell helyesen felszabadítani a memóriát egy dinamikusan foglalt kétdimenziós mátrix esetén?** | ||
| + | |||
| + | A) free(mat); | ||
| + | B) | ||
| + | <sxh c> | ||
| + | for (int i = 0; i < sorok; i++) | ||
| + | free(mat[i]); | ||
| + | free(mat); | ||
| + | </ | ||
| + | C) free(mat[][]); | ||
| + | D) free(mat); | ||
| + | | ||
| + | Megoldás: B | ||
| + | |||
| + | ---- | ||
| + | |||
| + | |||
tanszek/oktatas/muszaki_informatika/matrixok_kezelese.1739353921.txt.gz · Last modified: 2025/02/12 09:52 by knehez
