/* 2010.11.30 ZH B csoport megoldasa: 1. a., (Pontatlan a feltett kérdés, mert nem csak négy típus van a C nyelvben) int chort int long int float double long double char void b., az r2 pointer arra a vektorelemre mutat, amelynek sorszáma 12-vel nagyobb az r1 pointer által mutatott vektorelem sorszámától c., feltételes operátor, a feltételes kifejezés értéke 8 vagyis igaz, így eredményül a ? és a : közötti kifejezés eredményét adja vissza, tehát a végeredmény 7 d. ! logikai tagadas a !a 0 1 1 0 && logikai es a b a&&b 0 0 0 0 1 0 1 0 0 1 1 1 || logikai vagy a b a||b 0 0 0 0 1 1 1 0 1 1 1 1 összetett értékadó operátorok += -= *= /= %= e., char karaktervektor[12]; f., int i=1; int szam; while (i<=5) //eloltesztelo ciklus { printf("Kerem az %d. egesz szamot:", i); scanf("%f", &szam); if ( szam >= 0 ) printf(" a szam nem negativ"); else printf(" a szam negativ"); } 2. a., eloszor 9%2 eredmenye 1, majd 3-1 eredmenye 2, vegul 2-1 vegeredmeny: 1 printf("\n %d", 3 - 9%2 - 1); b., lista (8,7,5) a lista vegeredmenye: 5 c., lista (g=k=1, k*=7+g) hatasa k=5 es g=5, majd k=1*(7+1) eredmenye 8 es a lista vegeredmenye is: 8 d., A=7; B=3; C=6; D=1; !( A>=B || (C >= D)) !( 7>=3 || (6 >= 1)) vegeredmeny: hamis igaz igaz igaz hamis e., i=3; k=2; v1=3; v1 *= i++ * k-- + 7; felbontas utan: v1 = v1 * (i * k + 7); i++; k--; eredmenyek: v1=39; i=4; k=1 */ //3., /* #include #include void main(void) { int i, n, szam; clrscr(); //kepernyotorles printf("\n Egesz szamok vizsgalata ciklusban."); printf("\n Adja meg a 99 darab egesz szamot:"); n=99; //a 99-at a ZH feladat irja elo, celszeru kisebb szammal tesztelni for(i=1; i<=n; i++) //pontosan n-szer fut le { printf("\n Kerem a %d. egesz szamot:", i); //bekeres scanf("%d", &szam); //beolvasas, celkent memoria cimet kell megadni! if ( 5.2 < szam && szam < 9.8) //ha a szam a megadott intervallumba esik printf("\n a megadott szam: %d, az 5.2 es 9.8 koze esik", szam); } getch(); //billentyu lenyomasaig varakozik } //main fuggveny torzsenek a vege */ //4., /* #include #include #define MERET 150 int main(int argc, char* argv[]) { int v1[MERET], v2[MERET]; char karaktervektor[MERET]; int i, n; clrscr(); printf("\n Pelda program zh f4-re"); printf("\n Kerem az adatparok szamat (max %d):", MERET); scanf("%d", &n); for(i=0; i 5) karaktervektor[i]='n'; else if (v1[i]%v2[i] < 5 ) karaktervektor[i]='k'; else karaktervektor[i]='e'; //ezt az esetet a feladat nem irta le } for(i=0; i #include void main(void) { float v1[100], v2[100], v3[100]; float min; int talalat; int i, n; clrscr(); //kepernyotorles printf("\n Adatharmasok vizsgalata."); printf("\n Adja meg az adatharmasok darabszamat:"); scanf("%d", &n); for(i=0; i v2[i] && v2[i] > v3[i] ) ) { if (talalat > 0) if ( min > v2[i] ) min = v2[i]; else min = v2[i]; talalat++; } } //ciklus vege printf("\n %d darab kozrefogott szam szerepelt.", talalat); //eredmeny kiirasa a kepernyore if (talalat>0) printf("\n A legkisebb kozrefogott szam: %f", min); getch(); //billentyu lenyomasaig varakozik } //main fuggveny torzsenek a vege //---------------------------------------------------------------------------