Programozási tételek: Szétválogatás
Feladat
Bemenet
Adatok sorozata tömbben, fájlban vagy standard bemeneten
($X[1], X[2], \ldots, X[N]$), 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, továbbá a megfelelő elemek DBY darabszáma. A nem T tulajdonságú adatok sorozata egy Z tömbben, és ezek DBZ darabszáma.
Algoritmus
Adatok tömbben
DBY := 0; DBZ := 0
Ciklus i := 1-től N-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éldák
Feladatok