11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

Hasonló dokumentumok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

Programozás alapjai 9.Gy: Struktúra 2.

10. gyakorlat Tömb, mint függvény argumentum

/* 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 ) ;

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai 8.Gy: Program struktúra

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

7/8. gyakorlat Karaktertömbök és sztringkezelés

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Megoldott programozási feladatok standard C-ben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

10. gyakorlat Struktúrák, uniók, típusdefiníciók

Programozás I gyakorlat. 10. Stringek, mutatók

Programozás 6. Dr. Iványi Péter

Matematika 10 Másodfokú egyenletek. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

OOP: Java 1.Gy: Java alapok

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e:

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozás 5. Dr. Iványi Péter

Adatbázis rendszerek Gy: Algoritmusok C-ben

Programozás I. gyakorlat

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Információs Technológia

5. Gyakorlat. struct diak {

Programozás I gyakorlat

Programozás I gyakorlat. 5. Struktúrák

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

C változók. Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! int main() {

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Másodfokú egyenletek, egyenlőtlenségek

Másodfokú egyenletek, egyenlőtlenségek

Megoldott programozási feladatok standard C-ben

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT. Koordináta-geometria

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

1. Alapok. Programozás II

BME MOGI Gépészeti informatika 6.

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Programozás II. 2. Dr. Iványi Péter

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Koordináta-geometria

Programozás alapjai 1. (BMEVIEEA100)

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Koordinátageometria Megoldások

5. gyakorlat. Konstansok Tömbök Stringek

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r

Vezérlési szerkezetek. Szelekció Ciklusok

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Osztály és objektum fogalma

BME MOGI Gépészeti informatika 7.

Programozás C és C++ -ban

INFORMATIKA javítókulcs 2016

Bevezetés a programozásba. 9. Előadás: Rekordok

Programozás I. 5. Előadás: Függvények

2018, Funkcionális programozás

A programozás alapjai 1 Rekurzió

Matematika szigorlat, Mérnök informatikus szak I máj. 12. Név: Nept. kód: Idő: 1. f. 2. f. 3. f. 4. f. 5. f. 6. f. Össz.: Oszt.

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

7. gyakorlat Sorozatok, Fájlkezelés

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

Koordinátageometria. M veletek vektorokkal grakusan. Szent István Egyetem Gépészmérnöki Kar Matematika Tanszék 1

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Koordináta-geometria feladatok (középszint)

I. A négyzetgyökvonás

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Vezérlési szerkezetek

Maximum kiválasztás tömbben

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

A C programozási nyelv III. Pointerek és tömbök.

Programozás II. 4. Dr. Iványi Péter

2014. évi Bolyai János Megyei Matematikaverseny MEGOLDÁSI ÉS ÉRTÉKELÉSI ÚTMUTATÓ 11. évfolyam

1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.

Stack Vezérlés szerkezet Adat 2.

20. tétel A kör és a parabola a koordinátasíkon, egyenessel való kölcsönös helyzetük. Másodfokú egyenlőtlenségek.

Érettségi feladatok Koordinátageometria_rendszerezve / 5

int tokeletes(int szam) { int i,oszto=0; for(i=1; i<szam; i++) { if(szam %i == 0) { oszto+=i; }

A C programozási nyelv III. Pointerek és tömbök.

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Programozási alapismeretek 2009/2010

Halmazok. Gyakorló feladatsor a 9-es évfolyamdolgozathoz

Mutatók és mutató-aritmetika C-ben március 19.

Objektumorientált Programozás III.

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

Átírás:

11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap; Datum; /*globális típus definíció*/ void beolvas(datum * d); void kiir(datum d); Datum regebbi_datum(datum d1, Datum d2); int main() { Datum d1, d2; printf("első dátum:\n"); beolvas(&d1); printf("második dátum:\n"); beolvas(&d2); Datum regi = regebbi_datum(d1, d2); kiir(regi); void beolvas(datum * d) { printf("ev: "); scanf("%d", &d->ev); printf("ho: "); scanf("%d", &d->ho); printf("nap: "); scanf("%d", &d->nap); void kiir(datum d) { printf("regebbi: %d.%d.%d.\n", d.ev, d.ho, d.nap); Datum regebbi_datum(datum d1, Datum d2) { if (d1.ev==d2.ev) { if (d1.ho==d2.ho) { if (d1.nap>=d2.nap) return d2; else if(d1.ho>d2.ho) return d2; else if (d1.ev>d2.ev) return d2;

Önálló feladat: 1) Egészítse ki a programot a beolvasott év, hónap, nap értékek ellenőrzésével. 2) Oldja meg a beolvasást dátum formátumban. void beolvasformazott(datum * d){ char str[12]; int ok; do { ok = 1; scanf("%s", str); if (sscanf(str, "%d.%d.%d.", &d->ev, &d->honap, &d->nap)!= 3) { printf("hibás a dátum!\n"); ok = 0; while (!ok); 3) Megadott dátummal született ember hány éves. int HanyEves(Datum d) { char ho[3]; int ev, nap; sscanf( DATE, "%s %d %d", ho, &nap, &ev); return ev-d.ev; A DATE előredefiniált makró a rendszerdátumot tartalmazza Nov 21 2017 formátumban. 2. Egy geometriai programban körök adatait kell tárolni: középpont (x, y koordináta) és sugár. Állapítsa meg két körről, hogy azok átfedik-e egymást. Két kör akkor van átfedésben, ha középpontjaik távolsága kisebb, mint a sugaraik összege (Pitagorasz-tétel). #include <math.h> typedef struct kor { double x, y, r; Kor; void beolvas(kor * k) { scanf("%lf %lf %lf", &k->x, &k->y, &k->r); int atfed(kor k1, Kor k2) { return sqrt(pow(k1.x-k2.x, 2)+pow(k1.y-k2.y, 2))<k1.r+k2.r; int main(void) { Kor a, b; beolvas(&a); beolvas(&b);

printf("%s\n", atfed(a, b)? "Atfedik egymast" : "Nem fedik at egymast."); A kör struktúra definícióját adja meg úgy is, hogy a kör középpontja 2 taggú struktúra. Módosítsa a programot ennek megfelelően. typedef struct pont { typedef struct kor { double x, y; struct { double x,y; kp; Pont; double r; typedef struct kor { Kor; Pont kp; double r; Kor; Ekkor a középpont koordinátáira hivatkozás: k.kp.x ha k Kor típusú változó, vagy k kp.x ha k egy Kor típusú változóra mutató pointer. II. Struktúrát visszaadó függvények 3. Töltsön fel egy integer tömböt 1 és 100 közé eső véletlenszámokkal, majd válogassa szét az elemeket két csoportba: páros és páratlan számok. Írjon a feladat végrehajtására strukturált C programot. #include <stdlib.h> #include <time.h> #define N 10 //tömb mérete struct tomb{ int eredmeny[n], db; ; //struktúra adattagja lehet tömb void tombfeltolt(int * tomb); void tombkiir(struct tomb t); struct tomb tombszetvalogat(int * tomb, int paritas); int main() { int t[n]; tombfeltolt(t); struct tomb paros = tombszetvalogat(t, 0); struct tomb paratlan = tombszetvalogat(t, 1); printf("\npáros elemek: "); tombkiir(paros); printf("\npáratlan elemek: "); tombkiir(paratlan); /* 1 és 100 közötti véletlenszámokkal tölti fel a tömböt */ void tombfeltolt(int *tomb) { int i; srand(time(0)); //véletlenszám generátor inicializálása for (i=0; i<n; i++) tomb[i]=rand()%100+1; //értékadás tömbelemeknek véletlenszám generátorral

void tombkiir(struct tomb t) { //fv paramétere struktúra int i; for (i=0; i<t.db; i++) printf("%d, ", t.eredmeny[i]); //struktúra adattagjára hivatkozás. operátorral struct tomb tombszetvalogat(int * tomb, int paritas){ //fv visszatérési értéke struktúra struct tomb e; int i, j=0; for(i=0; i<n; i++) { if (tomb[i]%2==paritas) { e.eredmeny[j] = tomb[i]; j++; e.db = j; return e; Házi feladat: 1. Írjon C programot a másodfokú egyismeretlenes egyenletek megoldásához. Az ilyen egyenletek általános alakja: ax 2 + bx + c = 0, ahol a, b és c konstansok. Megoldása: Ha a=0 de b és c nem 0, az egyenlet elsőfokú, megoldása: x = -c/b. Ha c=0 de a és b nem 0, az egyenlet hiányos, megoldásai: x1 = 0, x2 = -b/a. Ha b=0 de a és c nem 0, az egyenlet tiszta másodfokú, megoldásai: x1,x2 = +- sqrt(-c/a) Ha mindhárom konstans 0, akkor bármely szám megoldás. Ha a és b 0, viszont c nem, akkor nincs megoldás. A megoldóképletben a gyök alatti kifejezés a másodfokú egyenlet diszkriminánsa. Ha d>0, az egyenletnek két valós gyöke van. Ha d=0, az egyenletnek egy valós gyöke van (x1=x2). Ha d<0 az egyenletnek két komplex gyöke van. Struktúrák használata azért szükséges, mert a valós és komplex gyökök számítását végző fv több értéket kell visszaadjon. Egy komplex számot leíró struktúra definíciója: struct komplex { double valos; double kepzetes; ; 2. Egy egyetemi oktató 5 csoportba oszt szét 150 db ZH dolgozatot (max. 50 pont). 0-25 pont elégtelen, 26-32 pont elégséges, 33-39 pont közepes, 40-45 pont jó, 46-50 pont jeles. Készítsen C programot, amely elvégzi ezt a feladatot. 3. Írja meg azt a C programot, amely megállapítja egy megadott dátumról, hogy hányadik napja az évnek. Vegye figyelembe, hogy szökőévről van-e szó!

b) Készítse el az algoritmus fordítottját is: ha adott, hogy hányadik napja az évnek, mondja meg, hogy melyik napról van szó. Pl. 2016-ban (szökőév) az év 60. napja február 29. c) Készítse el azt a függvényt, amely megállapítja egy megadott dátumról, hogy helyes-e. Pl. 2016.01.32. hibás dátum. 4. Geometriai programban egy négyzetet az oldalhosszúságával és a bal felső csúcsának koordinátáival adunk meg. Határozza meg a négyzet középpontjának (az átló felezőpontjának) koordinátáit. 5. Geometriai programban egy pont és egy kör egymáshoz viszonyított helyzetét vizsgáljuk. Állapítsa meg, hogy a megadott pont rajta van-e a megadott körvonalon, vagy azon belül, vagy azon kívül helyezkedik-e el. A pontot a koordinátáival adja meg, a kört pedig a középpont koordinátáival és a sugarával.