Programozás‎ > ‎

Szétvá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[1], Y[2],...), továbbá a megfelelő elemek DBY darabszáma. A nem T tulajdonságú adatok sorozata egy Z tömbben (Z[1], Z[2],...), és ezek DBZ darabszáma.

Algoritmus

Adatok tömbben

DBY := 0; DBZ := 0
Ciklus i := E-től U-ig
    Ha T(X[i]) akkor
        DBY := DBY + 1
        Y[DBY] := X[i]
    különben
        DBZ := DBZ + 1
        Z[DBZ] := X[i]
    Elágazás vége
Ciklus vége

Adatok fájlban

Megnyit( bemenet )
DBY := 0; DBZ := 0
Ciklus amíg nincs vége a bemenetnek
    X := Olvas( bemenet )
    Ha T(X) akkor
        DBY := DBY + 1
        Y[DBY] := X
    különben
        DBZ := DBZ + 1
        Z[DBZ] := X
    Elágazás vége
Ciklus vége
Bezár( bemenet )

Példa