Gyakorlati alapok
Másolás
A másolás legfontosabb jellegzetessége, hogy az eredmény mindig ugyanannyi elemszámú, mint amennyi a bemenet volt, ezért a kimenet iterált tagját a bemenet ugyanabban a pozícióban lévő, szintén iterált tagjából meg lehet határozni. Következésképpen a bemenő sorozatot le kell másolni és közben egy elemspecifikus átalakítást kell rajta elvégezni. Ezen tulajdonságot hívják elemenkénti feldolgozhatóságnak.
Például: a véletlenszámokkal feltöltött alaptömb (int[] tomb) elemeit egyszerűen átmásoljuk az eredménytömbbe (int[] tombEredmeny = new int[tomb.length];) egyetlen feltétellel: minden páratlan számú elemet párossá alakítunk át. Látható, hogy az eredménytömb méretét az alaptömb hosszából vesszük ([tomb.length]), amely itt nem nagy produkció, de bizonyos esetekben nagyon praktikus megoldás.
Mivel további feltételek nincsenek, az alapalgoritmus nem tesz mást, mint feltétel vizsgálat után (if(tomb[i] % 2 != 0)) a páratlan számhoz hozzáad 1-et, ezáltal az párossá válik:
int[] tombEredmeny = new int[tomb.length];
for(int i = 0; i < tomb.length; i++){
if(tomb[i] % 2 != 0){
tombEredmeny[i]
= tomb[i] + 1;
}
else
tombEredmeny[i]
= tomb[i];
}
Nézzük meg a futtatható Java-kódos változatot:
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] + " ");
}
System.out.println();
int[] tombEredmeny = new int[tomb.length];
for(int i = 0; i < tomb.length; i++){
if(tomb[i] % 2 != 0){
tombEredmeny[i]
= tomb[i] + 1;
}
else
tombEredmeny[i]
= tomb[i];
}
for(int i = 0; i < tomb.length; i++){
System.out.print(tombEredmeny[i] + "
");
}
}
}
Végeredmény (például):
45 24 39 21 8 43 39 34 47 21
46 24 40 22 8 44 40 34 48 22