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!

Személyes eszközök