{"id":1821,"date":"2016-09-30T11:08:00","date_gmt":"2016-09-30T09:08:00","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=1821"},"modified":"2017-01-23T08:03:04","modified_gmt":"2017-01-23T07:03:04","slug":"c-programozas-14-tombok","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=1821","title":{"rendered":"C++ programoz\u00e1s 14. &#8211; T\u00f6mb\u00f6k"},"content":{"rendered":"<h1>T\u00f6mb\u00f6k, avagy de sokan vagytok!<\/h1>\n<p>A t\u00f6mb, mint adatt\u00edpus az \u00f6sszetett adatt\u00edpusok k\u00f6z\u00e9 tartozik. A t\u00f6mb val\u00f3j\u00e1ban egy sorsz\u00e1mozott egyforma t\u00edpus\u00fa elemeket tartalmaz\u00f3 halmaz. Halmaz alatt csak annyit \u00e9rtek, hogy t\u00f6bb elemet tartalmaz, nem matematikai \u00e9rtelemben haszn\u00e1ljuk, itt ugyanis egy \u00e9rt\u00e9k t\u00f6bbsz\u00f6r is el\u0151fordulhat a t\u00f6mbben. A t\u00f6mb\u00f6k m\u00e9rete (hogy h\u00e1ny elemet tartalmaz) k\u00f6z\u00e9piskolai szinten l\u00e9nyegtelen, akkora t\u00f6mb\u00f6kkel nem dolgozunk, ami a t\u00fal nagy m\u00e9ret miatt probl\u00e9m\u00e1t okozna. Ami viszont fontos: a t\u00f6mb m\u00e9rete csak egyszer adhat\u00f3 meg, amikor deklar\u00e1ljuk a t\u00f6mb\u00f6t. Vagyis ha megadtam, hogy ez egy 10 elemet tartalmaz\u00f3 t\u00f6mb, akkor ezen k\u00e9s\u0151bb nem v\u00e1ltoztathatok. K\u00fcl\u00f6n\u00f6sen figyelni kell erre akkor, amikor nem tudod, hogy h\u00e1ny elemet szeretn\u00e9l t\u00e1rolni, akkor k\u00e9nytelen vagy az elm\u00e9leti maxim\u00e1lis m\u00e9retet be\u00e1ll\u00edtani, amit a feladat ad meg.<\/p>\n<h4>T\u00f6mb elemei<\/h4>\n<p>Egy t\u00f6mb, mint m\u00e1r eml\u00edtettem egy sorsz\u00e1mozott egyforma t\u00edpus\u00fa elemeket tartalmaz\u00f3 halmaz. A sorsz\u00e1moz\u00e1snak fontos szerepe van, mert az elemek sorrendje &#8211; am\u00edg meg nem v\u00e1ltoztatjuk &#8211; k\u00f6t\u00f6tt. Mindenkinek megvan a saj\u00e1t azonos\u00edt\u00f3ja, amivel a t\u00f6mbben elfoglalt pontos hely\u00e9re hivatkozunk. Ezt nevezz\u00fcnk indexnek. A sorsz\u00e1m annyiban nem a legpontosabb elnevez\u00e9s, hogy itt a sorsz\u00e1moz\u00e1s &#8211; amit innent\u0151l nevezz\u00fcnk indexel\u00e9snek &#8211; 0-val kezd\u0151dik.<\/p>\n<p>Mivel minden t\u00f6mbelem helye fix, \u00e9s a hely\u00e9t az elem indexe adja meg, ez\u00e9rt lehet egy tetsz\u0151leges elemre hivatkozni a k\u00f6vetkez\u0151 m\u00f3don:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">tomb&#x5B;index]<\/pre>\n<p>Ez az adott index\u0171 helyen t\u00e1rolt elem konkr\u00e9t \u00e9rt\u00e9k\u00e9t adja vissza, \u00e9s am\u00edg direkt nem cser\u00e9lgetj\u00fck \u00f6ssze az elemeket, vagy nem v\u00e1ltoztatjuk meg az \u00e9rt\u00e9k\u00fcket, mindig ugyanazt az \u00e9rt\u00e9ket adja. \u00cdgy lehet p\u00e9ld\u00e1ul a t\u00f6mb felt\u00f6lt\u00e9se k\u00f6zben az adott helyen l\u00e9v\u0151 &#8220;t\u00e1rol\u00f3ban&#8221; \u00e9rt\u00e9ket elhelyezni. \u00c9rtelemszer\u0171en az index legkisebb \u00e9rt\u00e9ke 0 lehet (ez az els\u0151 elem), a legnagyobb pedig t\u00f6mbm\u00e9ret-1 (ez az utols\u00f3).<\/p>\n<p>Az indexnek minden esetben egy nem negat\u00edv eg\u00e9sz sz\u00e1mot kell megadni, de akkor honnan tudjuk, hogy melyik val\u00f3ban az utols\u00f3 elem? Hogyan tudjuk a t\u00f6mbm\u00e9retet megkapni? Univerz\u00e1lis megold\u00e1s az alap c++ t\u00f6mb\u00f6k m\u00e9ret\u00e9nek meghat\u00e1roz\u00e1s\u00e1ra nincs. A t\u00f6mb m\u00e9ret\u00e9t neked k\u00fcl\u00f6n kell t\u00e1rolnod, \u00e9s haszn\u00e1lni, amikor arra sz\u00fcks\u00e9g van. A k\u00e9s\u0151bbi p\u00e9ld\u00e1kb\u00f3l egy\u00e9rtelm\u0171 lesz, hogy hogyan. A t\u00f6mb elemei k\u00f6z\u00fcl vannak olyanok, melyeket j\u00f3, ha \u00e1ltal\u00e1nos form\u00e1ban ismersz.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntomb&#x5B;0]       \/\/ mindig ez az els\u0151 elem\r\ntomb&#x5B;meret-1] \/\/ mindig ez az utols\u00f3 elem\r\n<\/pre>\n<p>Fontos, hogy a t\u00f6mbm\u00e9ret nem a t\u00f6mbben \u00e1ltalunk elt\u00e1rolt elemek sz\u00e1m\u00e1t adja meg, mert az lehet kevesebb is, mint a t\u00f6mb m\u00e9rete. P\u00e9ld\u00e1ul tudom, hogy legfeljebb 20 \u00e9rt\u00e9ket akarok t\u00e1rolni, akkor egy 20 elem\u0171 t\u00f6mbre van sz\u00fcks\u00e9gem. \u00c9s ha csak 15-\u00f6t t\u00e1roltam el? Akkor az utols\u00f3 5 \u00fcres lesz. Van ilyen. Illetve lesz benne valami, de hogy mi az t\u0151lem f\u00fcggetlen. A t\u00f6mbm\u00e9ret teh\u00e1t azt a darabsz\u00e1mot adja meg, amennyi elem maxim\u00e1lisan elf\u00e9r a t\u00f6mbben \u00e9s nem a m\u00e1r elt\u00e1rolt elemek sz\u00e1m\u00e1t. Ha nem haszn\u00e1ltuk ki a t\u00f6mb teljes m\u00e9ret\u00e9t, akkor nek\u00fcnk kell k\u00fcl\u00f6n nyilv\u00e1ntartani, hogy melyik az utols\u00f3 elem, amit mi helyezt\u00fcnk el a t\u00f6mbben. Hiszen ut\u00e1na is vannak elemek a t\u00f6mbben, melyeknek m\u00e9g egyszer hangs\u00falyozom, nem tudjuk, mik az \u00e9rt\u00e9kei.<\/p>\n<p>Az al\u00e1bbi p\u00e9ld\u00e1ban egy 10 elem\u0171 t\u00f6mb\u00f6t hoztam l\u00e9tre, de nem t\u00f6lt\u00f6ttem fel teljesen. A t\u00f6mb m\u00e9rete egy\u00e9rtelm\u0171en 10, de nekem nyilv\u00e1n kell tartanom az 5-\u00f6s \u00e9rt\u00e9ket is, mert 5 elem van benne. Ezek k\u00f6z\u00fcl a tomb[4] az utols\u00f3, hiszen az indexel\u00e9s 0-t\u00f3l kezd\u0151dik. \u00cdgy a t\u00e1rolt 5-\u00f6s \u00e9rt\u00e9kkel a t\u00f6mb \u00f6sszes felt\u00f6lt\u00f6tt eleme el\u00e9rhet\u0151, \u00edgy nem fogok tov\u00e1bbszaladni a k\u00e9rd\u0151jellel jel\u00f6lt elemekre, melyek \u00e9rt\u00e9ke ismeretlen, \u00e9s nem is egyform\u00e1k.<\/p>\n<p><a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2016\/09\/tomb.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1835\" src=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2016\/09\/tomb.jpg\" alt=\"tomb\" width=\"239\" height=\"43\" \/><\/a><\/p>\n<p>A l\u00e9nyeg: saj\u00e1t v\u00e1ltoz\u00f3ban t\u00e1rold azt hogy h\u00e1ny elemet helyezt\u00e9l el a t\u00f6mbben. Legyen ez a v\u00e1ltoz\u00f3 mondjuk db nev\u0171 v\u00e1ltoz\u00f3.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntomb&#x5B;db-1]    \/\/ ez az utols\u00f3 \u00e1ltalam elhelyezett elem\r\ntomb&#x5B;meret-1] \/\/ ez pedig a t\u00f6mb utols\u00f3 eleme, ami ismeretlen kezd\u0151\u00e9rt\u00e9k\r\n<\/pre>\n<h4>T\u00f6mb\u00f6k deklar\u00e1l\u00e1sa<\/h4>\n<p>A t\u00f6mb\u00f6t logikailag ugyan\u00fagy kell deklar\u00e1lni, mint egy egyszer\u0171 v\u00e1ltoz\u00f3t, azzal a k\u00fcl\u00f6nbs\u00e9ggel, hogy a t\u00edpus\u00e1n \u00e9s nev\u00e9n k\u00edv\u00fcl a t\u00f6mb m\u00e9ret\u00e9t is meg kell adni k\u00f6telez\u0151 jelleggel.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">int tomb&#x5B;5];<\/pre>\n<p>A t\u00f6mb deklar\u00e1l\u00e1s formailag ett\u0151l nem t\u00e9rhet el!<\/p>\n<h4>T\u00f6mb inicializ\u00e1l\u00e1sa<\/h4>\n<p>El\u0151fordulhat, hogy a t\u00f6mbnek m\u00e1r el\u0151re tudjuk a fix \u00e9rt\u00e9keit, \u00e9s ezeket r\u00f6gt\u00f6n oda is adjuk neki kezd\u0151\u00e9rt\u00e9kk\u00e9nt. L\u00e1ssuk ezt hogyan lehet megtenni:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">int tomb&#x5B;5] = {1,2,3,4,5};<\/pre>\n<p>A fent megadott t\u00f6mbnek megadtuk &#8211; k\u00f6telez\u0151 jelleggel &#8211; hogy 5 eleme lesz, majd ezeket kezd\u0151\u00e9rt\u00e9kk\u00e9nt a k\u00f6t\u00f6tt form\u00e1ban felsoroljuk. Fontos, hogy t\u00f6bb elemet nem adhatunk meg kezd\u0151\u00e9rt\u00e9kk\u00e9nt, mint amekkora a t\u00f6mb m\u00e9rete. Ezt m\u00e9g a c++ is hib\u00e1nak veszi, pedig sok hib\u00e1t lenyel. Kevesebbet viszont adhatunk! L\u00e1ssuk:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">int tomb&#x5B;5] = {1,2};<\/pre>\n<p>Itt az 5 elem\u0171 t\u00f6mbnek csak k\u00e9t \u00e9rt\u00e9ket adtunk oda kezd\u0151\u00e9rt\u00e9kk\u00e9nt. Ilyenkor az els\u0151 k\u00e9t elem \u00e9rt\u00e9ke a felsorol\u00e1snak megfelel\u0151 lesz, vagyis 1 \u00e9s 2, a t\u00f6bbi elem \u00e9rt\u00e9ke pedig 0 lesz.<\/p>\n<p>Alaphelyzetben, ha a t\u00f6mbnek nem adunk kezd\u0151\u00e9rt\u00e9keket, a c++ akkor is ki\u00edr valami \u00e9rt\u00e9ket t\u00f6mbelemk\u00e9nt, amikor semmit nem adtunk meg neki. N\u00e9zz\u00fck az al\u00e1bbi p\u00e9ld\u00e1t:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nint tomb&#x5B;3];\r\n\r\ncout &lt;&lt; tomb&#x5B;0] &lt;&lt; endl;\r\ncout &lt;&lt; tomb&#x5B;1] &lt;&lt; endl;\r\ncout &lt;&lt; tomb&#x5B;2] &lt;&lt; endl;\r\n<\/pre>\n<p>Ez a k\u00f6vetkez\u0151 kimenetet adta:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n4309664\r\n2686868\r\n4309758\r\n<\/pre>\n<p>A t\u00f6mb m\u00e9g nem kapott kezd\u0151\u00e9rt\u00e9keket, de valamit mutat, amelyek term\u00e9szetesen nem val\u00f3s \u00e9rt\u00e9kek, de hib\u00e1t sem produk\u00e1lnak! Hogyan lehetne akkor megadni, hogy a t\u00f6mb legyen &#8220;\u00fcres&#8221;, vagyis ne az el\u0151z\u0151ekhez hasonl\u00f3 ismeretlen \u00e9rt\u00e9kek legyenek benne, hanem mondjuk mindegyik 0 legyen. Gyakorlatilag ugyan\u00fagy, mint amikor nem adjuk meg a m\u00e9ret\u00e9nek megfelel\u0151 \u00f6sszes kezd\u0151\u00e9rt\u00e9ket. Itt csak az els\u0151t adjuk meg, \u00e9s az is 0 legyen:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">int tomb&#x5B;5] = {0};<\/pre>\n<p>Ebben a t\u00f6mbben minden t\u00f6mbelem 0 lesz, \u00edgy tal\u00e1n \u00e1tl\u00e1that\u00f3bb lesz, hogy melyik elemhez rendelt\u00fcnk m\u00e1r hozz\u00e1 \u00e9rt\u00e9ket, \u00e9s melyikhez nem. Term\u00e9szetesen itt \u00fcgyelni kell arra, hogy ha nem t\u00f6ltj\u00fck fel teljesen a t\u00f6mb\u00f6t, akkor nyilv\u00e1n kell tartani, hogy \u00e9ppen h\u00e1ny elem van benne. Vegy\u00fck a k\u00f6vetkez\u0151 p\u00e9ld\u00e1t:<\/p>\n<pre class=\"brush: cpp; gutter: true; highlight: [1]; title: ; notranslate\" title=\"\">\r\nint tomb&#x5B;5] = {0}; \/\/ minden elem 0 kezd\u0151\u00e9rt\u00e9kkel rendelkezik\r\n\r\ntomb&#x5B;0] = 3;\r\ntomb&#x5B;1] = -5;\r\ntomb&#x5B;2] = 0;\r\n\r\ncout &lt;&lt; tomb&#x5B;0] &lt;&lt; &quot; &quot;;\r\ncout &lt;&lt; tomb&#x5B;1] &lt;&lt; &quot; &quot;;\r\ncout &lt;&lt; tomb&#x5B;2] &lt;&lt; &quot; &quot;;\r\ncout &lt;&lt; tomb&#x5B;3] &lt;&lt; &quot; &quot;;\r\ncout &lt;&lt; tomb&#x5B;4] &lt;&lt; &quot; &quot;;\r\n<\/pre>\n<p>Kimenetk\u00e9nt a k\u00f6vetkez\u0151t l\u00e1thatjuk:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">3 -5 0 0 0 <\/pre>\n<p>A gond az, hogy az alap 0 \u00e9rt\u00e9kek \u00e9s az \u00e1ltalunk be\u00e1ll\u00edtott 0 \u00e9rt\u00e9k gyakorlatilag megk\u00fcl\u00f6nb\u00f6ztethetetlen. Akkor kezelhetj\u00fck ezt a probl\u00e9m\u00e1t, ha tudjuk, hogy az 5 elem\u0171 t\u00f6mbbe elhelyezt\u00fcnk 3 elemet, mondjuk 3, -5, 0-\u00e1t, \u00e9s megjegyezt\u00fck, hogy jelenleg 3 elem van a t\u00f6mbben. \u00cdgy a 0-\u00e1k k\u00f6z\u00fcl tudjuk, hogy az els\u0151 \u00e1ltalunk felt\u00f6lt\u00f6tt elem, a t\u00f6bbi pedig a t\u00f6mb alap\u00e9rt\u00e9kei.<\/p>\n<h2>M\u0171veletek t\u00f6mb\u00f6kkel<\/h2>\n<h4>T\u00f6mb felt\u00f6lt\u00e9se<\/h4>\n<p>A feladat a k\u00f6vetkez\u0151: T\u00f6lts\u00fcnk fel egy 10 elem\u0171 eg\u00e9szeket tartalmaz\u00f3 t\u00f6mb\u00f6t az [1;100] intervallumb\u00f3l \u00e9s t\u00e1roljuk el a kisorsolt \u00e9rt\u00e9keket.<\/p>\n<p>Amikor egy t\u00f6mbbel dolgozunk, szinte mindig ciklusra van sz\u00fcks\u00e9g. Hogy a ciklus milyen t\u00edpus\u00fa (el\u00f6l tesztel\u0151, h\u00e1tul tesztel\u0151 vagy n\u00f6vekm\u00e9nyes, esetleg speci\u00e1lis foreach), azt mindig az adott feladatt\u00edpus d\u00f6nti el. Amikor p\u00e9ld\u00e1ul egy t\u00f6mb\u00f6t felt\u00f6lt\u00fcnk \u00e9rt\u00e9kekkel vagy ki akarjuk \u00edratni a tartalm\u00e1t, akkor \u00fagyis v\u00e9gig kell n\u00e9zni az eg\u00e9szet, minden elem\u00e9hez hozz\u00e1 kell f\u00e9rni.<\/p>\n<p>Mivel a ciklusokat m\u00e1r felt\u00e9telezem, hogy ismeri az olvas\u00f3, \u00edgy l\u00e1ssuk a megold\u00e1sokat alap feladatokra, egyel\u0151re nem teljes programban. A lenti k\u00f3dban a m\u00e1r ismertetett m\u00f3don haszn\u00e1lom a <a href=\"http:\/\/www.webotlet.hu\/?p=1798\">sz\u00e1msorsol\u00e1st<\/a>:<\/p>\n<pre class=\"brush: cpp; gutter: true; highlight: [1,2,3,5]; title: ; notranslate\" title=\"\">\r\nint meret = 10;\r\nint tomb&#x5B;meret] = {0};\r\nfor( int i = 0; i &lt; meret; i++ )\r\n{\r\n  tomb&#x5B;i] = rand() % 100 + 1;\r\n}\r\n<\/pre>\n<p>Ez a programr\u00e9sz a meret v\u00e1ltoz\u00f3ban megadott m\u00e9ret\u0171 t\u00f6mb\u00f6t felt\u00f6lt az adott intervallumb\u00f3l kisorsolt elemekkel. L\u00e1ssuk a soronk\u00e9nti magyar\u00e1zatot:<\/p>\n<ul>\n<li>1 &#8211; megadom a t\u00f6mb k\u00edv\u00e1nt m\u00e9ret\u00e9t<\/li>\n<li>2 &#8211; l\u00e9trehozok egy akkora m\u00e9ret\u0171 eg\u00e9szeket tartalmaz\u00f3 t\u00f6mb\u00f6t 0 kezd\u0151\u00e9rt\u00e9kekkel<\/li>\n<li>3 &#8211; ind\u00edtok egy n\u00f6vekm\u00e9nyes ciklust, ami egy ciklusv\u00e1ltoz\u00f3t (i) elind\u00edt 0-t\u00f3l \u00e9s addig megy am\u00edg kisebb, mint a tomb nev\u0171 t\u00f6mb m\u00e9rete. Vagyis mi lesz az i utols\u00f3 \u00e9rt\u00e9ke? meret-1. Ismer\u0151s? Ez az utols\u00f3 elem indexe. Vagyis ez a ciklus v\u00e9gigl\u00e9pteti az i v\u00e1ltoz\u00f3t a t\u00f6mb \u00f6sszes lehets\u00e9ges index\u00e9n. Ak\u00e1rmekkora is a t\u00f6mb. Ez\u00e9rt jegyezt\u00fck meg a m\u00e9ret\u00e9t, hogy itt haszn\u00e1lhassuk, mert l\u00e9nyegtelen, hogy a program elej\u00e9n mekkora t\u00f6mbm\u00e9retet adtunk meg.<\/li>\n<li>5 &#8211; a l\u00e9ptetett indexeket felhaszn\u00e1lva a t\u00f6mb minden elem\u00e9re hivatkozva egy kisorsolt v\u00e9letlen sz\u00e1mot adunk meg \u00e9rt\u00e9kk\u00e9nt az intervallumb\u00f3l .<\/li>\n<\/ul>\n<h4>T\u00f6mb elemeinek ki\u00edr\u00e1sa<\/h4>\n<p>Mi van akkor, ha ellen\u0151rizni akarjuk, hogy a t\u00f6mb\u00f6t t\u00e9nyleg megfelel\u0151en t\u00f6lt\u00f6tt\u00fck-e fel? H\u00e1tha elsz\u00fartuk az intervallumot.<\/p>\n<pre class=\"brush: cpp; gutter: true; highlight: [1,3]; title: ; notranslate\" title=\"\">\r\nfor( int i = 0; i &lt; meret; i++ )\r\n{\r\n    cout &lt;&lt; tomb&#x5B;i] &lt;&lt; &quot; &quot;;\r\n}\r\n<\/pre>\n<p>Ezt a programr\u00e9szt m\u00e1r nem is kell nagyon magyar\u00e1zni. Az 1. sor ciklusa seg\u00edts\u00e9g\u00e9vel v\u00e9gigmegy\u00fcnk a t\u00f6mb \u00f6sszes index\u00e9n. A 3. sorban pedig mindig ki\u00edratjuk a t\u00f6mb aktu\u00e1lis index\u0171 (vagyis mindegyik) elem\u00e9t \u00fagy, hogy egy sz\u00f3k\u00f6zt is hagyunk ut\u00e1na, hogy az elemek elk\u00fcl\u00f6n\u00fcljenek egym\u00e1st\u00f3l.<\/p>\n<p>Hogy n\u00e9z ki ez az eg\u00e9sz egyben?<\/p>\n<pre class=\"brush: cpp; gutter: true; highlight: [29]; title: ; notranslate\" title=\"\">\r\n#include &lt;iostream&gt;\r\n#include &lt;cstdlib&gt; \/\/ srand(), rand()\r\n#include &lt;ctime&gt;   \/\/ time(0)\r\n\r\nusing namespace std;\r\n\r\nint main()\r\n{\r\n\/\/ v\u00e9letlensz\u00e1m gener\u00e1tor megkever\u00e9se\r\n    srand(time(0));\r\n\r\n    int meret = 10;\r\n\/\/ t\u00f6mb deklar\u00e1l\u00e1sa \u00e9s m\u00e9ret\u00e9nek megad\u00e1sa\r\n    int tomb&#x5B;meret] = {0};\r\n\r\n\/\/ t\u00f6mb felt\u00f6lt\u00e9se\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        tomb&#x5B;i] = rand() % 100 + 1;\r\n    }\r\n\r\n\/\/ t\u00f6mb elemeinek ki\u00edrat\u00e1sa\r\n    for( int i = 0; i &lt; meret; i++ )\r\n    {\r\n        cout &lt;&lt; tomb&#x5B;i] &lt;&lt; &quot; &quot;;\r\n    }\r\n\r\n\/\/ extra sordob\u00e1s\r\n    cout &lt;&lt; endl;\r\n\r\n    return 0;\r\n}\r\n<\/pre>\n<p>Tal\u00e1n a 29. sor nem vil\u00e1gos mit keres ott. Mivel a t\u00f6mb elemeit egym\u00e1s mell\u00e9 \u00edrjuk le, ez\u00e9rt az utols\u00f3 elem ut\u00e1n &#8211; vagyis a ciklus befejezt\u00e9vel &#8211; illik egy \u00faj sort kezdeni. H\u00e1tha j\u00f6n m\u00e9g m\u00e1s feladat is, ami j\u00f3 lenne ha elv\u00e1lna a ki\u00edrat\u00e1st\u00f3l.<\/p>\n<h4>K\u00f6vetkez\u0151 lecke: <a href=\"http:\/\/www.webotlet.hu\/?p=1921\">Alap algoritmusok<\/a><\/h4>\n","protected":false},"excerpt":{"rendered":"<p>T\u00f6mb\u00f6k, avagy de sokan vagytok! A t\u00f6mb, mint adatt\u00edpus az \u00f6sszetett adatt\u00edpusok k\u00f6z\u00e9 tartozik. A t\u00f6mb val\u00f3j\u00e1ban egy sorsz\u00e1mozott egyforma t\u00edpus\u00fa elemeket tartalmaz\u00f3 halmaz. Halmaz alatt csak annyit \u00e9rtek, hogy t\u00f6bb elemet tartalmaz, nem matematikai \u00e9rtelemben haszn\u00e1ljuk, itt ugyanis egy <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=1821\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s 14. &#8211; T\u00f6mb\u00f6k<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[151],"tags":[158,159,143,15,163],"class_list":["post-1821","post","type-post","status-publish","format-standard","hentry","category-cplusplus-alap-leckek","tag-c","tag-c-programozas","tag-programozas","tag-tomb","tag-tombok"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1821"}],"version-history":[{"count":14,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1821\/revisions"}],"predecessor-version":[{"id":2037,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1821\/revisions\/2037"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}