==FLOD==Zajász és Webizé

A Kiválogatás tétele

 

Ez most az előzöeknél egy kicsit nehezebb lesz! Ki válogatjuk egy tömbböl azokat a számokat melyek egy adott feltételnek megfelelnek. A lenti példában a tömbünk azon elemeit fogjuk felsorolni, melyek nagyobbak, mint 38:

 

var szamok = [5,7,15,20,38,43,52,67,2];
var szamok_meret = szamok.length;
var valogatott = [];
var j=0;
for(var i=0;i<szamok_meret;i++){
if(szamok[i]>38){
valogatott[j++]=szamok[i];
}
}
var valogatott_meret = j;
document.write(“Az alábbi számokat sikerült kiválogatni:”);
for(var i=0;i<valogatott_meret;i++){
document.write(valogatott[i]+”, “);
}

 

Létrehoztuznk egy tömböt “szamok” néven. Ez a tömb tartalmazza mindazokat a számokat melyekből válogatni fogunk. Ezután a “szamok_meret” nevű változóban elmentjük a “szamok” tömb hosszát. Szükségünk van egy olyan tömbre is, melyben gyűjthetjük a kiválogatott elemeket, erre hozzuk létre a “valogatott” nevű – egyelőre még üres – tömböt. Létrehozunk egy “j” nevű segédváltozót is 0 értékkel, nemsokára meglátjuk azt is, hogy miért. Egy for ciklus segítségével végignézzük a “szamok”  tömb elemeit és egy a ciklusmagban elhelyezett feltétel alapján szűrjük a számokat. Ez a feltétel jelen esetben az, hogy a kiválogatott számoknak nagyobbnak kell lenniük 38-nál. Azon számok, melyek megfelelnek ennek a kritériumnak, bele kerülnek az eddig üresen álló “valogatott” nevű tömbünk j+1. helyére, így a ciklus futása során szépen egymás után íródnak a tömbbe a feltételnek megfelelő elemek. A ciklus lefutása után a “j” változónk értéke pontosan a “valogatott” nevű tömbünk méretével lesz azonos, így el is metjük a “valogatott_meret” nevű tömbünkbe. Ezek után már nincs más hátra, mint a végeredményről tájékoztatni a felhasználót. Egy for ciklus segítségével szépen kiíratjuk mindazokat a számokat mellyek megfeleltek a kritériumnak.

 

<<< Előző lecke Következő lecke >>>