Programozás‎ > ‎

Kiválogatás

Feladat

Bemenet

Adatok sorozata tömbben, fájlban vagy standard bemeneten (X[E],X[E+1],…,X[U]), továbbá értelmezett az adatokon egy T() tulajdonság: eldönthető egy adatról, hogy teljesül-e rá T().

Kimenet

A T tulajdonságú adatok sorozata egy Y tömbben (Y[0], Y[1], ..., Y[DB-1]), továbbá a megfelelő elemek DB darabszáma.

Algoritmus

Adatok tömbben

DB := 0
Ciklus i := E-től U-ig
    Ha T(X[i]) akkor
        Y[DB] := X[i]
        DB := DB + 1
    Elágazás vége
Ciklus vége

Adatok fájlban

Megnyit( bemenet )
DB := 0
Ciklus amíg nincs vége a bemenetnek
    X := Olvas( bemenet )
    Ha T(X) akkor
        Y[DB] := X
        DB := DB + 1
    Elágazás vége
Ciklus vége
Bezár( bemenet )

Java példa

Egy standard inputról beolvasott szám osztóinak kiválogatása és kiírása.

import java.util.Scanner;

class osztok {
    public static void main(String args[]) {
        int[] d = new int[10000];
        Scanner be = new Scanner(System.in);
        int DB = 0;
        System.out.print("N = ");
        int N = be.nextInt();
       
        for (int i = 1; i <=N; i++) {
            if (N%i==0) {
                d[DB++] = i;
            }
        }
       
        System.out.println(N+" osztoi:");
        for(int i = 0; i<DB; i++) {
            System.out.println(d[i]);
        }
    }
}

Gyakorlatok

  1. Válogassuk ki Shakespeare Hamlet című drámájából az "eszperente" szavakat!