Gyakorlati alapok

Tömb feltöltése páros számokkal

 

Az előző fejezetben egy egyszerű, standard méretű tömb alapszintű működtetését ismerhettük meg. Ebben a fejezetben programozási ujjgyakorlatként ugyanilyen tulajdonságú tömb páros számokkal való feltöltését gyakorolhatjuk. Kiindulási pontunk tehát egy 10 elemből álló tömb...

 

int tomb[] = new int [10];

 

...amelynek kötelező kimeneti adathalmaza a páros számok vizsgálatakor:

 

0 2 4 6 8 10 12 14 16 18

 

Nézzük meg az 1. legegyszerűbb megoldást:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


public class Main{
public static void main(String[] args) {
    int[]tomb = new int[10];
    int szamlalo = 0;
    for(int i = 0; i < tomb.length; i++){
        tomb[i] = i * 2;
        System.out.print(tomb[i] + " ");
        }
    }
}

 

Végeredmény:

0 2 4 6 8 10 12 14 16 18

 

A kódban az i iterátor értékét szorozzuk meg folyamatosan 2-vel. Aki számára a kód működése nem egyértelmű, annak komponensek szerint is részletezem:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


public class Main{
public static void main(String[] args) {
    int[]tomb = new int[10];
    int szamlalo = 0;
    for(int i = 0; i < tomb.length; i++){
        tomb[i] = i * 2;
        System.out.println("i értéke: " + i + " * 2 = " + tomb[i]);
        }
    }
}

 

Végeredmény:

i értéke: 0 * 2 = 0
i értéke: 1 * 2 = 2
i értéke: 2 * 2 = 4
i értéke: 3 * 2 = 6
i értéke: 4 * 2 = 8
i értéke: 5 * 2 = 10
i értéke: 6 * 2 = 12
i értéke: 7 * 2 = 14
i értéke: 8 * 2 = 16
i értéke: 9 * 2 = 18

 

Egy fokkal bonyolultabb, de ugyanúgy működőképes az algoritmus, ha a számításhoz segédváltozót használunk fel (int szamlalo = 0):

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


public class Main{
public static void main(String[] args) {
    int[]tomb = new int[10];
    int szamlalo = 0;
    for(int i = 0; i < tomb.length; i++){
        tomb[i] = szamlalo;
        szamlalo += 2;
        System.out.print(tomb[i] + " ");
        }
    }
}

 

Végeredmény:

0 2 4 6 8 10 12 14 16 18

 

A legdöcögősebb, de szintén működőképes megoldás, valójában inkább egy kissé túlbonyolított gondolatkísérlet:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


public class Main{
public static void main(String[] args) {
    int[]tomb = new int[10];
    tomb[1] = 2;
    for(int i = 0; i < tomb.length; i++){
        if(i < 2){
            System.out.print(tomb[i] + " ");
            continue;
        }
        else
            tomb[i] = tomb[i-1] + 2;
            System.out.print(tomb[i] + " ");
        }
    }
}

 

Végeredmény:

0 2 4 6 8 10 12 14 16 18

 

A páros számokkal való tömbfeltöltéskor vetődik fel az i % 2 == 0 lehetséges felhasználása, amely ugye a páros számok leválogatásának tipikus művelete. Használatakor azonban az a probléma merül fel, hogy ha ezt a szűrést a tömbindexre alkalmazzuk, akkor a tömbméretnél pontosan feleannyi helyet tudunk feltölteni (azaz tomb.length / 2). Ennek lehetséges megoldása maradjon a Tisztelt Olvasó házi feladata.