1. Írjunk programot, amely függvény alkalmazásával meghatározza n a értékét, (a az n-edik gyök alatt), az általunk megadott pontossággal, iterációval. Az iteráció képlete a következő: xuj = xregi + ( 1/n ) * ( a / xregi
ahol :
n-1
- xregi ) ;
xuj : a kiszámolandó érték, xregi : az előzőleg kiszámolt érték a : az alap, n : a gyökkitevő Az iteráció befejeződik, ha | xuj - xregi | < G ; ahol : G a pontosság értéke. #include <stdio.h> #include <math.h> int main() { int valasz; /* Az iter függvény prototípusa */ double iter( double, double, double ); double n, a, e, gyok; do {
printf("\n"); printf("Kérem a gyökkitevôt : "); scanf("%lf",&n); printf("Kérem az alapot : "); scanf("%lf",&a); printf("Kérem a hibahatárt : "); scanf("%lf",&e); /* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ; printf("\nA^(1/N) = %lf\n",gyok); printf("\nTovábbi iteráció (i/n) : ") ; valasz = getc(stdin) ;
} while( valasz == 'i' ); }
return 0;
/* Az iter függvény megvalósítása */ double iter( double kitevo, double alap , double hiba ) { double xuj, xregi; xuj = alap ; xregi = 0 ; do { xregi = xuj ; xuj = xregi + (1/kitevo)*(alap/pow(xregi,kitevo-1)- xregi); } while( fabs(xuj - xregi) > hiba ) ; /* A gyök értékével tér vissza a függvény */ return( xuj ); }
2. Írjunk programot, amely beolvas egy kétjegyű számot és kiírja szövegesen. Használjunk függvényeket. #include <stdio.h> void egyesek ( int );
// Az egyesek függvény prototípusa
int main() { int szam,tizes,egyes,vane; do { do { printf("\nKérem a kétjegyü számot : ") ; scanf("%d",&szam) ; }while( szam%1 != 0 || szam/10 < 1 || szam/10 > 9); tizes = szam/10 ; egyes = szam%10 ; switch( tizes ) { case 1: if( egyes == 0 ) { printf("\nTiz") ; } else { printf("\nTizen"); } break; case 2: if( egyes == 0 ) { printf("\nHúsz") ; } else { printf("\nHuszon"); } break; case 3: printf("\nHarminc"); break; case 4: printf("\nNegyven"); break;
case 5: case 6: case 7: case 8:
printf("\nÖtven") ; break; printf("\nHatvan"); break; printf("\nHetven"); break; printf("\nNyolcvan"); break;
case 9: default:
printf("\nKilencven"); break;
break; } /* End SWITCH */ /* Az egyesek függvény hívása */ egyesek( egyes ); printf("\nVan-e még szám (i/n) : "); vane = getc(stdin); } while( vane == 'i' ); return 0; } /* Az egyesek void egyesek( { switch( { case
függvény megvalósítása */ int e ) e ) 1:
case 2:
printf("egy") ; break; printf("kettô"); break;
case 3: printf("három"); break; case 4: case 5:
printf("négy"); break; printf("öt"); break;
case 6: printf("hat"); break;
case 7: case 8: case 9: default: } }
printf("hét"); break; printf("nyolc"); break; printf("kilenc"); break; break;
3. Készítsen egy olyan függvényt, amely adott sorszámú üzenetet ír ki a képernyőre. Hívja meg a függvényt hatszor, hat különböző sorszámú üzenet kiírásához. #include <stdio.h> int uzen (int); /* prototípusa */ int main (void) { int i, ok; //meghívjuk a függvényt hatszor for (i=1; i<7; i++) { ok = uzen (i); /* A függvény hívása */ printf (" ** %2d **", ok); } return 0; } int uzen (int sorszam) /* A függvény definíciója */ { switch (sorszam) { case 1: printf ("\nElső üzenet"); return 1; case 2: printf ("\nMásodik üzenet"); return 1; case 3: printf ("\nHarmadik üzenet"); return 1; case 4: printf ("\nNegyedik üzenet"); return 1; case 5: printf ("\nÖtödik üzenet"); return 1; default: return 0; } }
4. A programban definiáljunk egy 5x5-ös mátrixot. A mátrix minden elemének adjunk értéket. Ezután írjunk programot amely a főátlójára tükrözi a definiált mátrixot! A program kiírja az eredeti és a tükrözött mátrixot. #include <stdio.h> int main() { int a[5][5] = {
int i,j,s;
1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14,15, 16,17,18,19,20, 21,22,23,24,25
};
printf("\nEREDETI : "); printf("\n\n"); for(i=0; i<5; i++) { for(j=0; j<5; j++) { printf(" %2d",a[i][j]); } printf("\n"); } /* Most következik a mátrix tükrözése */ for(i=0; i<5; i++) { for(j=i; j<5; j++) { s = a[j][i]; a[j][i] = a[i][j]; a[i][j] = s; } } printf("\nTÜKRÖZÖTT : ");printf("\n\n"); for(i=0; i<5; i++) { for(j=0; j<5; j++) { printf(" %2d",a[i][j]); } printf("\n"); } return 0; }
5. A programban definiáljunk egy 2x3 - as és egy 3x2 - es mátrixot értékekkel. Írjunk programot, amely összeszorozza őket és kiírja az eredményt. #include <stdio.h> #define N 3 #define M 2 int main() { int a[N][M] =
int b[M][N] =
long c[N][N]; int i, j, k;
{
}; {
1, 2, 3, 4, 5, 6 1, 2, 3, 4, 5, 6
};
for(i=0; i
return 0;
6. Olvassunk be egy maximum 20 karakterbôl álló szöveget, majd irjuk ki fordítva ! Irassuk ki a karaktersorozat hosszát is ! #include <stdio.h> #include <string.h> int main() { char szoveg[20]; int i, n; printf("Adj meg egy szoveget [max 20. betu]\n"); scanf("%s", szoveg); /* bekerjuk a szoveget */ n = strlen(szoveg); for(i = n-1; i >= 0; i--) { printf("%c", szoveg[i]); } printf("\n"); printf("Szoveg hossza: %d\n", n); return 0; }