Gyakorlati alapok

Válogatások

 

Kiválogatás helyben

 

A kiválogatott elemek sorszámát és/vagy összes darabszámát keressük, de nincs szükség külön eredménytömbre, hanem a már meglévő tömbbe vezetjük be az eredményeket. A sorszámjelleget ponttal (". ") hangsúlyozzuk.

 

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];
    int darabSzam = 0;
    for(int i = 0; i < tomb.length; i++){
        tomb[i] = random.nextInt(50) + 1;
        System.out.print(tomb[i] + " ");
    }

    System.out.println();

    for(int i = 0; i < tomb.length; i++){
        if(tomb[i] % 2 == 0){
            tomb[i] = i;
            System.out.print(tomb[i] + ". ");
            darabSzam++;
        }
    }
    System.out.println();
    System.out.print("Darabszám: " + darabSzam);
    }
}

 

Végeredmény (például):
21 21 31 10 16 33 48 36 22 20
3. 4. 6. 7. 8. 9.
Darabszám: 6

 

Az eredmények megtévesztően azonosak a fentiekkel, de láthatóan mégsem használtunk külön eredménytömböt, hanem a már meglévő tömb értékeit manipuláltuk. Ha külön kilistázzuk az alaptömb elemeit, akkor ezt be is bizonyíthatjuk:

 

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];
    int darabSzam = 0;
    for(int i = 0; i < tomb.length; i++){
        tomb[i] = random.nextInt(50) + 1;
        System.out.print(tomb[i] + " ");
    }

    System.out.println();

    for(int i = 0; i < tomb.length; i++){
        if(tomb[i] % 2 == 0){
            tomb[i] = i;
            System.out.print(tomb[i] + ". ");
            darabSzam++;
        }
    }
    System.out.println();
    System.out.print("Darabszám: " + darabSzam + "\n");

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

 

Végeredmény (például):

43 38 45 30 37 33 45 32 38 10
1. 3. 7. 8. 9.
Darabszám: 5
43 1 45 3 37 33 45 7 8 9