Tartalomjegyzék Algoritmusok - pszeudókód... 1 42



Hasonló dokumentumok
Algoritmusok pszeudókód... 1

Algoritmusok pszeudókód... 1

Tartalomjegyzék Algoritmusok - pszeudókód

Algoritmusok - pszeudókód... 1

Egyszerű programok készítése Kifejezések Bitszintű műveletek Relációs műveletek... 58

Felvételi tematika INFORMATIKA

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

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

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)

INFORMATIKA javítókulcs 2016

3 A C programozási nyelv szintaktikai egységei

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

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

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

Rekurzív algoritmusok

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

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

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Információs Technológia

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

BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR Felvételi verseny - minta Informatika írásbeli

Rekurzió. Dr. Iványi Péter

Megoldott programozási feladatok standard C-ben

Gyakorló feladatok az 1. nagy zárthelyire

Vezérlési szerkezetek

BABEŞ-BOLYAI TUDOMÁNYEGYETEM KOLOZSVÁR. Informatika záróvizsga tankönyv

INFORMATIKA tétel 2019

Webprogramozás szakkör

Adatbázis rendszerek Gy: Algoritmusok C-ben

Hatványozás. A hatványozás azonosságai

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

2018, Funkcionális programozás

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

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

A programozás alapjai 1 Rekurzió

Vezérlési szerkezetek. Szelekció Ciklusok

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

A félév során előkerülő témakörök

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

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

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Bevezetés a programozásba I.

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

A rész (30 pont) A.1. Vajon mit csinál? (5 pont) A generál(n) algoritmus egy n természetes számot dolgoz fel (0 < n < 100).

Babeş-Bolyai Tudományegyetem, Kolozsvár. Informatikai-matematika záróvizsga tankönyv

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

A C programozási nyelv I. Bevezetés

C programozási nyelv

A C programozási nyelv I. Bevezetés

Bevezetés az algoritmikába

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

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

Algoritmizálás, adatmodellezés tanítása 7. előadás

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

2018, Diszkrét matematika

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Szoftvertervezés és -fejlesztés I.

Babeş-Bolyai Tudományegyetem, Kolozsvár. Informatika záróvizsga tankönyv

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Occam 1. Készítette: Szabó Éva

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

A C# programozási nyelv alapjai

Egyszerű programozási tételek

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Programozási segédlet

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Adatszerkezetek és algoritmusok

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

C programozás. 1 óra Bevezetés

2015, Diszkrét matematika

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

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

Matematika. 1. évfolyam. I. félév

Bevezetés a programozásba I.

Programozás alapjai 1.Gy: Algoritmizálás P R O

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Programozás I. gyakorlat

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

Megoldott programozási feladatok standard C-ben

Adatszerkezetek II. 10. előadás

BME MOGI Gépészeti informatika 5.

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

Átírás:

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Abszolút érték...1 Hányados ismételt kivonással...1 Legnagyobb közös osztó... 1 2 Páros számok szűrése...2 Palindrom számok... 2 3 Orosz szorzás...3 Minimum keresés...3 Maximum keresés...4 Eukleidész algoritmusa...4 Prímszámok...5 Fibonacci-számok... 5 6 Háromszög... 6 7 Fordított szám... 7 8 Törzstényezők...8 Prímszámvizsgálat... 9 10 Konverzió Számrendszer átalakítás... 10 11 Gyors hatványozás... 11 12 Szekvenciális (lineáris) keresés...12 Megszámlálás...12 Minimum- és maximumkiválasztás...13 A Maximum helye...13 Kiválogatás...13 Szétválogatás...14 Sorozat halmazzá alakítása... 14 15 Sorozatok keresztmetszete... 15 16 Sorozatok egyesítése...16 Sorozatok összefésülése...17 Párok sorszáma egy sorozatban...18 Arány...18 Teljes négyzet... 18 19 Osztályátlagok szétválasztása... 19 20 Bűvös négyzet... 20 21 Polinom értéke adott pontban...21 Polinomok összege...22

Polinomok szorzata...22 Buborékrendezés (Bubble-sort)... 23 24 Egyszerű felcseréléses rendezés...24 Válogatásos rendezés...24 Minimum/maximum kiválasztásra épülő rendezés...25 Beszúró rendezés...25 Leszámláló rendezés... 25 26 Összefésülésen alapuló rendezés... 26 27 Gyorsrendezés (QuickSort)... 27 28 Szavak sorrendjének megfordítása...28 Faktoriális...28 Számjegyösszeg...29 k elemű részhalmazok...29 Konverzió...30 Az 1, 2,..., n halmaz minden részhalmaza...30 Kamatos kamatok kiírása... 30 31 Általános backtracking... 31 32 Általános rekurzív backtracking...32 Elhelyezni 8 királynőt a sakktáblán... 32 33 Zárójelek...34 Játékok dobozva való elhelyezésének kiírása... 34 35 X pénzösszeg kifizetése n bankjegy segítségével... 35 36 X Összeg kifizetése, minimum számú bankjeggyel... 36 37 Általános Divide Et Impera...37 Szorzat (DivImp)...38 Minimumszámolás (DivImp)... 38 39 Hatványozás (DivImp)...39 Bináris keresés (DivImp)...40 Általános mohó (Greedy) algoritmus...40 Összeg (Greedy)...41 Hátizsák probléma (Greedy)... 41 42 Összegkifizetés legkevesebb számú bankjeggyel (Greedy)...42 A C nyelv elemei... 43 53 Azonosítók...43 A programok felépítése...44 Az alapértelmezett egyszerű típusok... 45 47

Változók... 47 49 Konstansok (állandók)... 49 50 Adatok beolvasása és kiírása... 50 53 Egyszerű programok készítése... 54 56 Téglalap területe és kerülete...55 Inkrementáló és dekrementáló operátorok... 55 56 Bitműveletek...56 A C nyelv utasításai... 57 74 A kifejezés utasítás...57 Az összetett utasítás...57 Feltételes utasítások... 57 60 Az if utasítás...58 Valós szám abszolút értéke...58 Páros páratlan számok megállapítása...59 Nagyobbik szám kiválasztása... 59 60 Nagybetű, kisbetű vagy szám...60 A switch utasítás... 61 65 Aritmetikai műveletek... 62 63 Az év hányadik napja... 63 65 Ciklus utasítások... 65 74 Az elöltesztelő ciklus... 65 66 A hátultesztelő ciklus...66 A számlálós ciklus... 66 67 Szám számjegyeinek száma... 67 68 Törzstényezőkra való bontás...68 Legnagyobb közös osztó (Eukleidész algoritmusa)...69 P számrendszerből q számrendszerbe... 69 71 Faktoriális... 71 72 Prímszám vizsgálat... 72 73 Fibonacci sorozat n-dik eleme...73 Polinom értéke egy x pontban (Horner-séma)... 73 74 A tömbök... 74 92 A tömb fogalma...74 Egydimenziós tömbök... 75 84 Számsorozat fordított sorrendben... 75 76

Két polinom szorzata... 76 77 Kezdőértekkel rendelkező egydimenziós tömbök...77 Többdimenziós tömbök...78 Tömb szimmetriája... 78 79 Mátrix szorzata vektorral... 80 81 Két matrix szorzata... 81 82 Mátrix inverze... 83 84 Karaktertömbök... 85 86 Karakterláncok beolvasása a standard bemenetről...86 Karakterláncok kiírása a standard kimenetre...86 Karakterlánc konverziós műveletek... 87 90 Numerikus értékek karakterlánccá alakítása...87 Karakterlánc numerikus értékekké alakítása...87 Más konvertáló függvények...87 Karakterlánc kezelő függvények... 87 89 Betük frekvenciája egy sorban... 89 90 Dinamikus tömbök... 90 92 Vektor páros elemeinek összege... 90 91 Mátrix páratlan elemeinek összege... 91 92 Az előfeldolgozó parancsok... 92 96 Állományok beillesztése... 92 93 Makrók... 93 94 Feltételes fordítás makró létezéstől függően...94 Feltételes fordítás makró nem-létezéstől függően...95 Feltételes fordítás... 95 96 Fordítási hibaüzenet generálása...96 Függvények... 96 103 A függvény fogalma... 96 97 Függvény deklarációja...97 Függvény definiciója... 97 98 Paraméterátadás... 98 99 Tömb paraméterek... 99 100 Faktoriális... 100 101 Goldbach-feltétel... 101 102 Legnagyobb közös osztó... 103

Bonyolultabb adatszerkezetek... 104 109 Struktúrák... 104 105 Kezdőértékkel rendelkező struktúrák... 106 Tanuló adatai... 106 108 Saját típusok definiálása... 108 109 Állományok... 109 118 Állomány megnyitása... 110 Állomány bezárása... 111 Írás állományba... 111 112 Karakter írása állományba... 111 Karakterlánc írása állományba... 111 112 Formázott írás állományba... 112 Olvasás állományból... 112 118 Karakter olvasása állományól... 112 Karakterlánc olvasása állományból... 113 Formázott olvasás állományból... 113 Állomány végének az ellenőrzése... 113 114 Pozicionálás az állományban... 114 Szöveges állomány feldolgozása (feladat1)... 115 116 Szöveges állomány feldolgozása (feladat2)... 116 117 Szöveges állomány feldolgozása (feladat3)... 117 118 Klasszikus algoritmusok... 119 128 Kereső algoritmusok... 119 121 Lineáris keresés... 119 Bináris keresés... 120 121 Rendező aloritmusok... 121 124 Buborékrendezés... 121 122 Minimumkiválasztásos rendezés... 122 123 Beszúrásos rendezés... 123 124 Összefésülések... 124 128 Összefésülés strázsa nélkül... 124 126 Összefésülés strázsával (ütközővel)... 127 128 Rekurzió... 129 142 Közvetlen rekurzió... 129 137

Szó betűi fordított sorrendben... 129 130 Faktoriális... 130 Fibonacci sorozat n-edik eleme... 131 Legnagyobb közös osztó... 131 132 Ackermann függvény... 132 133 X n -diken kiszámítása... 133 134 Tizes számrendszerből való átírás p számrendszerbe... 134 135 Az első n páratlan természetes szám összege... 135 Természetes szám számjegyeinek összege... 135 136 N természetes szám összege... 136 137 Tömbök rekurzívan... 137 140 Számsorozat negatív elemeinek száma... 137 138 Szám előfordulása egy tömbben... 138 139 Páros elemek összege... 139 140 Rekurzív szerkezetű eredményt igénylő feladatok... 140 142 N hosszúságú megadott karakterlánc... 140 141 Természetes szám particiói... 141 142 Az Oszd meg és uralkodj módszer... 143 151 Sorozat legnagyobb elem... 143 144 N szám szorzata... 144 145 Bináris keresés... 146 147 Hanoi tornyok... 147 148 QuickSort... 148 150 MergeSort... 150 151 Kombinatorikai feladatok... 152 155 Permutációk... 152 153 Variációk... 153 154 Kombinációk... 154 155 A dinamikus adatszerkezetek... 156 161 Szimplán láncolt lista... 156 161 Lista létrehozása... 157 Lista elemeinek a kiírása... 157 Egy új elem beszúrása a listába... 158 Egy elem törlése a listaból... 158 Megoldott listás feladat... 158 161

Algoritmusok - pszeudókód Abszolút érték Határozzuk meg és írjuk ki adott valós szám abszolút értékét! Algoritmus Abszolút_érték(x,mod): Ha x 0 akkor bemeneti adat: x, kimeneti adat: mod mod x különben mod -x vége(ha) Vége(algoritmus) Hányados ismételt kivonással Számítsuk ki két természetes szám egész hányadosát ismételt kivonásokkal! Algoritmus Osztás(a,b,hányados): hányados 0 bemeneti adatok:a, b, kimeneti adat:hányados Amíg a b végezd el: hányados hányados + 1 a a - b vége(amíg) Vége(algoritmus) Legnagyobb közös osztó Számítsuk ki két természetes szám legnagyobb közös osztóját! Algoritmus Eukleidész(a,b,lnko): Ismételd bemeneti adatok: a, b, kimeneti adat: lnko r maradék[a/b] kiszámítjuk az aktuális maradékot 1

a b az osztandót felülírjuk az osztóval b r az osztót felülírjuk a maradékkal ameddig r = 0 amikor a maradék 0, véget ér az algoritmus lnko a lnko egyenlő az utolsó osztó értékével Vége(algoritmus) Páros számok szűrése Számoljuk meg n beolvasott szám közül a páros számokat! bemeneti adat: n és a számok, kimeneti adat: db, a páros számok száma Algoritmus Páros(n,db): db 0 Minden i=1,n végezd el: Be: szám Ha szám páros akkor db db + 1 vége(ha) vége(minden) Vége(algoritmus) Palindrom számok Döntsük el egy adott számról, hogy palindromszám-e vagy sem! Algoritmus Palindrom(szám,válasz): másolat szám bemeneti adat: szám, kimeneti adat: válasz újszám 0 Amíg szám > 0 végezd el: számjegy maradék[szám/10] újszám újszám*10 + számjegy szám [szám/10] vége(amíg) 2

válasz újszám = másolat ha újszám = másolat, akkor válasz értéke igaz ha újszám másolat, akkor válasz értéke hamis Vége(algoritmus) Orosz szorzás Legyen a, b N *. Számítsuk ki a és b szorzatát! Algoritmus Orosz_szorzás(a,b,p): x a bemeneti adatok: a, b y b kimeneti adat: p p 0 Amíg x > 0 végezd el: xy + p = ab (*) Ha x páratlan akkor p p + y vége(ha) x [x/2] y y + y vége(amíg) Vége(algoritmus) Minimum keresés Határozzuk meg egy n elemű sorozat minimumát! Algoritmus Minimum(n,a,min): min a1 Minden i=2,n végezd el: Ha ai < min akkor min ai vége(ha) vége(minden) Vége(algoritmus) 3

A C nyelv utasításai A kifejezés utasítás A kifejezés utasítás végrehajtása a kifejezésnek a megfelelő szabályok szerinti kiértékelését jelenti. Mielőtt a következő utasításra adódik a vezérlés, a teljes kiértékelés (a mellékhatásokkal együtt) végbemegy. Példák: kerulet = x + y + b; j++; a = b = c = 3; z = cos (alfa) + 1.35 //értékadás //j növelése 1-gyel //többszörös értékadás //függvényt hívó kifejezés Az összetett utasítás Programjainkban nagyon gyakran használjuk az összetett utasítást. Az összetett utasítás a és az között megadott utasítások sorozatából áll. Ezt az utasítást olyan helyen használjuk, ahol egynél több utasítás végrehajtására van szükség, de a szintaxis csak egy utasítás használatát engedélyezi. Az összetett utasítás általános szintaxisa: lokális definíciók és deklarációk; utasítás1; utasítás2;... utasításn; Feltételes utasítások A programok végrehajtása során sokszor szükségünk van arra, hogy bizonyos feltételektől függően a számítógép a 57

program különböző részeit (ágait) hajtsa végre. Tehát ha a feltétel teljesül, a program egy bizonyos műveletsort végez, különben egy másikat. Ezt a feltételes vagy döntéshozó utasításokkal (válogatással, szelekcióval) valósítjuk meg. Az if utasítás A legegyszerűbb feltételes utasítás az if, amely a kétágú döntésnek felel meg. Az utasítás általános formája: if (kifejezés) utasítás1; else utasítás2; Az if utasítás végrehajtása a kifejezés kiértékelésével kezdődik. A kifejezés általában egy logikai kifejezés, amelynek ha értéke 1 vagy ennél nagyobb egész szám, az utasítás1 hajtódik végre, különben (ha a kifejezés értéke 0) az utasítás2 kerül végrehajtásra. #include <stdio.h> #include <conio.h> Valós szám abszolút értéke main() int x, abs; printf("\n Kerem a szamot:"); scanf("%d", &x); if (x >= 0) abs = x; else abs = -x; printf("a szam abszolut erteke: %d",abs); getch(); 58

Rekurzió Közvetlen rekurzió A közvetlen rekurzió a leggyakoribb. Ebben az esetben az adott függvény blokkjában explicit módon meghívjuk az illető függvényt. Egy rekurzív függvény végrehajtása azonos módon történik, mint bármely nem rekurzív függvényé. Egy rekurzív függvény a következőképpen hajtódik végre: a függvény első aktiválása során végrehajtódnak az utasítások a folytatási / leállási feltételig; kiértékelődik a feltétel és amíg ennek a logikai értéke azt jelenti, hogy a függvénynek meg kell hívja önmagát, akkor a függvény aktiválásainak sora következik, ami azt jelenti, hogy végre lesz hajtva a függvénynek a feltételig tartó része, valamint az újrahívás; amikor a feltétel azt jelenti, hogy a függvénynek nem kell többé önmagát meghívja, akkor, ismételten, a hívásokhoz viszonyítva fordított sorrendben, végrehajtódik a függvény hívása / önmeghívása utáni rész. Szó betűi fordított sorrendben Írjuk ki egy szó betűit fordított sorrendben! A szó végét egy szóközzel jelöljük. Ne használjunk a megoldásban tömböt és karakterláncot! #include <stdio.h> #include <conio.h> void fordit() char betu; scanf("%c", &betu); if (betu!= ' ') fordit(); 129

printf("%c", betu); void main() printf("a szo: "); fordit(); getch(); return; Faktoriális Írjunk rekurzív függvényt, amely kiszámítja az n! -t! #include <stdio.h> #include <conio.h> long int fakt(int n) if (n == 0) return 1; else return n * fakt(n - 1); void main() int n; printf("n = "); scanf("%d", &n); printf("n!= %ld", fakt(n)); getch(); return; 130

Az Oszd meg és uralkodj módszer Ezt a módszert sikeresen lehet alkalmazni az informatikában. A módszer lényege az, hogy a feladatot egymástól független részfeladatokra bontjuk, amelyeket az eredeti feladathoz hasonlóan oldunk meg, de kisebb méretű adatok esetében. A módszer lépéseit a következőképpen foglalhatjuk össze: A feladatot kettő vagy több, hasonló egymástól független jellegű részfeladatra bontjuk. A részfeladatok lehetnek elemi vagy nem elemi részfeladatok. Az elemi részfeladatokat megoldjuk, a nem elemieket pedig újabb elemi, vagy nem elemi részfeladatokra bontjuk. Ezt a műveletet addig folytatjuk, ameddig elemi részfeladatokhoz jutunk. Az eredményt úgy kapjuk, hogy az egyes részfeladatokat a felosztás fordított sorrendjében összerakjuk, összekombináljuk. Sorozat legnagyobb elem Határozzuk meg n egész szám közül a legnagyobbat az oszd meg és uralkodj módszerrel! #include <stdio.h> #include <conio.h> int x[100], n, i; int maximum(int bal, int jobb) int max1, max2, kozepe; if (bal == jobb) return x[bal]; else if (jobb - bal == 1) if (x[bal] < x[jobb]) return x[jobb]; 143

else return x[bal]; else kozepe = (bal + jobb) / 2; max1 = maximum(bal, kozepe); max2 = maximum(kozepe + 1, jobb); if (max1 < max2) return max2; else return max1; void main() printf("n = "); scanf("%d", &n); printf("adjuk meg a szamokat!\n"); for (i = 0; i < n; i++) printf("az %d.elem: ", i); scanf("%d", &x[i]); printf("a legnagyobb szam : %d", maximum(0, n - 1)); getch(); return; N szám szorzata Számítsuk ki n valós szám szorzatát oszd meg és uralkodj módszerrel! #include <stdio.h> #include <conio.h> int x[100], n, i; 144

int szorzas(int bal, int jobb) int sz1, sz2, kozepe; if (bal == jobb) return x[bal]; else if (jobb - bal == 1) return x[bal] * x[jobb]; else kozepe = (bal + jobb) / 2; sz1 = szorzas(bal, kozepe); sz2 = szorzas(kozepe + 1, jobb); return sz1 * sz2; void main() printf("n = "); scanf("%d", &n); printf("adjuk meg a szamokat!\n"); for (i = 0; i < n; i++) printf("az %d.elem: ", i); scanf("%d", &x[i]); printf("a szamok szorzata : %d", szorzas(0, n - 1)); getch(); return; 145