Informatika2-2014/Gyakorlat14
A MathWikiből
(Változatok közti eltérés)
21. sor: | 21. sor: | ||
</c> | </c> | ||
− | '''2.''' Az alábbi kódrészletet töltsük ki úgy, hogy a ’b’ tömbbe az ’a’ mátrix transzponáltja kerüljön! | + | '''2.''' |
+ | |||
+ | <c> | ||
+ | #include <stdio.h> | ||
+ | #define PRINT(int) printf("%d\n",int) | ||
+ | |||
+ | int main(void) { | ||
+ | int i, j, k=2; | ||
+ | i = (8+7)%6/2; PRINT(i); | ||
+ | k *= j = i = 3; | ||
+ | k += i == j; PRINT(k); | ||
+ | i=2; j=3; k=0; | ||
+ | PRINT( i && j || k ); | ||
+ | PRINT( !i || j ); | ||
+ | PRINT( i++ - --j ); | ||
+ | i=1; j = 4; i <<= j; PRINT( i ); | ||
+ | k = i<j ? i | j : i & j; | ||
+ | PRINT( k ); | ||
+ | return 0; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | |||
+ | '''3.''' Az alábbi kódrészletet töltsük ki úgy, hogy a ’b’ tömbbe az ’a’ mátrix transzponáltja kerüljön! | ||
<c> | <c> | ||
int i,j,a[3][2]={{1,2},{2,0},{3,3}}, b[2][3]; | int i,j,a[3][2]={{1,2},{2,0},{3,3}}, b[2][3]; | ||
30. sor: | 53. sor: | ||
} | } | ||
</c> | </c> | ||
+ | |||
+ | '''4.''' Az alábbi programkód minden jelölt sora mellett adjuk | ||
+ | meg a ’t’ tömb tartalmát! | ||
+ | |||
+ | <c> | ||
+ | void fuggveny(void) { | ||
+ | int t[4] = {1,3,5,7}, *p; | ||
+ | p = &t[0]; | ||
+ | t[0] = (*p)++; | ||
+ | t[1] = *p++; | ||
+ | t[2] = ++*p; | ||
+ | t[3] = *++p; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | '''5.''' | ||
+ | |||
+ | <c> | ||
+ | void fuggveny(void) { | ||
+ | int t[4], *p, i; | ||
+ | t[0] = 2; t[1] = 3; | ||
+ | for( i=2; i<4; i++) | ||
+ | t[i] = t[i-1]+t[i-2]; | ||
+ | p = &t[1]; | ||
+ | t[0] = *p++; | ||
+ | t[1] = (*p)++; | ||
+ | t[2] = *++p; | ||
+ | t[3] = ++*p; | ||
+ | *p+=*p; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | '''6.''' Írjunk egy rekurzív és egy iteratív C függvényt, mely | ||
+ | kiszámítja az n-edik Fibonacci-számot (f(0)=0, f(1)=1,...), | ||
+ | ahol n nemnegatív egész! |
A lap 2014. május 6., 11:20-kori változata
Gyakorlás
1. Minden PRINT-et tartalmazó sornál határozzuk meg a kimenet értékét!
#include <stdio.h> #define PRINT(int) printf("%d\n",int) int main(void) { int i, j, k=5; i = 17 - 17/k*k; PRINT(i); k += j = i *= 3; k -= i == j; PRINT(k); i=2; j=3; k=5; PRINT( i & j | k ); PRINT( !i || j && k); i=4; j = 3; i <<= j; PRINT( i ); k = i<32 ? ++i : --i; PRINT( k ); return 0; }
2.
#include <stdio.h> #define PRINT(int) printf("%d\n",int) int main(void) { int i, j, k=2; i = (8+7)%6/2; PRINT(i); k *= j = i = 3; k += i == j; PRINT(k); i=2; j=3; k=0; PRINT( i && j || k ); PRINT( !i || j ); PRINT( i++ - --j ); i=1; j = 4; i <<= j; PRINT( i ); k = i<j ? i | j : i & j; PRINT( k ); return 0; }
3. Az alábbi kódrészletet töltsük ki úgy, hogy a ’b’ tömbbe az ’a’ mátrix transzponáltja kerüljön!
int i,j,a[3][2]={{1,2},{2,0},{3,3}}, b[2][3]; for( i=0; i<3; i++ ) { }
4. Az alábbi programkód minden jelölt sora mellett adjuk meg a ’t’ tömb tartalmát!
void fuggveny(void) { int t[4] = {1,3,5,7}, *p; p = &t[0]; t[0] = (*p)++; t[1] = *p++; t[2] = ++*p; t[3] = *++p; }
5.
void fuggveny(void) { int t[4], *p, i; t[0] = 2; t[1] = 3; for( i=2; i<4; i++) t[i] = t[i-1]+t[i-2]; p = &t[1]; t[0] = *p++; t[1] = (*p)++; t[2] = *++p; t[3] = ++*p; *p+=*p; }
6. Írjunk egy rekurzív és egy iteratív C függvényt, mely kiszámítja az n-edik Fibonacci-számot (f(0)=0, f(1)=1,...), ahol n nemnegatív egész!