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

A szétválogatás tétele

 

A kiválogatás tételénél használt kódunkat fogjuk egy kicsit tovább fejleszteni. A kapott eredményeket különböző tömbökbe fogjuk szétválogatni. Az alábbi példában a számokat tartalmazó “szamok” nevű tömbünk páros számait a a “paros” nevű tömbünkbe a páratan számokat pedig a “paratlan” nevű tömbünkbe helyezzük át. Nézzük, hogyis tudjuk ezt megvalósítani:

 

var szamok = [5,7,15,20,38,43,52,67,2];
var szamok_meret = szamok.length;
var paros =[];
var paratlan =[];
var x=0;
var y=0;

for(var i=0;i<szamok_meret; i++){
if(szamok[i]%2==0){
paros[x++]=szamok[i];
}else{
paratlan[y++]=szamok[i];
}
}

var paros_meret = x;
var paratlan_meret = y;

document.write(“A tömb páros számai: “);
for(var i=0; i<paros_meret; i++){
document.write(paros[i]+”, “);
}
document.write(“<br /> A tömb páratlan számai: “);
for(var i=0; i<paratlan_meret; i++){
document.write(paratlan[i]+”, “);
}

 

Létrehoztunk 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 páros számokat és egy olyanra is melyben a páratlan számokat. E célból létrehoztuk a “paros“, ill  “paratlan“nevű – egyelőre még üres – tömböket. Létrehoztunk továbbá két segédváltozót “x” és “y” néven  0 kezdőértékekkel, melyek majd segítségünkre lesznek a számok pakolásánál, hogy szépen egymás után helyezkedjenek el a megfelelő tömbben, ahogy ezt a kiválogatás tételénél is már megfigyelhettük. 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. Kettővel való maradékos osztás segítségével könnyen meg tudjuk állapítani, hogy a szamok tömb aktuális “i” eleme páros, illetve páratlan-e: Ha az osztás végeredménye 0, az azt jelenti, hogy 2-vel történő osztás után nem képződött maradék, így a szám páros. Mehet is a “paros” nevű tömbbe, ellenkező esetben pedig a “paratlan“-ba. Eztuán létrehoztunk két tömböt “paros_meret” és “paratlan_meret” néven, a páros és páratlan számokat tartalmazó tömbök méreteinek tárolására. Az iménti for ciklus lefutása után a “paros_meret” nevű tömbünk mérete pontosan akkora, mint az “x” változónk mérete és a “paratlan” tömb mérete is meg kell, hogy egyezzen az “y” változónk értékével. Ezek után már nincs más hátra, mint a végeredményről tájékoztatni a felhasználót. Két for ciklus segítségével szépen kiíratjuk a páros ill. páratlan számokat.

 

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