Gyakorlati alapok

Válogatások

 

Szétválogatás külön tömbbe

 

Az elemeket külön tömbbe tesszük. Ezen módszer gyors, praktikus és könnyen implementálható, hátránya viszont, hogy mindig kétszer akkora tömbméretet generál az eredetinél, amely nagy alapméret esetén már számottevő probléma lehet. Az eredményeket minimum 1 eredménytömbbe mentjük, hiszen a már meglévő alaptömböt is felhasználhatjuk szétválogatásra. Az új tömb:

 

int[] tombParatlan = new int[tomb.length];

 

Az eredetileg véletlenszámokat tároló alaptömb (int[] tomb) tehát a páros számok tárolójává válik, a páratlan számú elemek 0-val törlésre kerülnek. Az algoritmus végén mindkét tömb elemeit külön sorokban kilistázzuk. Nézzük meg a futtatható Java-kódos változatot:

 

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

 

 

 

 

 

 

 

 

import java.util.Random;

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


    int[] tombParatlan = new int[tomb.length];

    System.out.println();

    for(int i = 0; i < tomb.length; i++){
        if(tomb[i] % 2 != 0){
            tombParatlan[i] = tomb[i];
            tomb[i] = 0;
        }
    }

    System.out.println();
    for(int i = 0; i < tomb.length; i++){
        System.out.print(tomb[i] + " ");
    }

    System.out.println();
    for(int i = 0; i < tombParatlan.length; i++){
        System.out.print(tombParatlan[i] + " ");
        }
    }
}

 

Végeredmény (például):
50 42 5 4 32 38 41 42 35 22

50 42 0 4 32 38 0 42 0 22
0 0 5 0 0 0 41 0 35 0

 

A 0 értékek könnyen eltüntethetők a listából:

 

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

 

 

 

 

 

 

 

 

import java.util.Random;

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


    int[] tombParatlan = new int[tomb.length];

    System.out.println();

    for(int i = 0; i < tomb.length; i++){
        if(tomb[i] % 2 != 0){
            tombParatlan[i] = tomb[i];
            tomb[i] = 0;
        }
    }

    System.out.println();
    for(int i = 0; i < tomb.length; i++){

        if(tomb[i] != 0){
            System.out.print(tomb[i] + " ");

        }
    }

    System.out.println();
    for(int i = 0; i < tombParatlan.length; i++){

        if(tombParatlan[i] != 0){
            System.out.print(tombParatlan[i] + " ");

            }
        }
    }
}

 

Végeredmény (például):
24 26 6 40 29 14 49 44 5 44

24 26 6 40 14 44 44
29 49 5