Két tömb feltöltése véletlen számokkal, ezek elrendezése, majd összefésülése és eltárolása egy újabb tömbbe (Fesules.java) import java.io.*; public class Fesules { public static int in() throws Exception { Ez a beolvasást végrehajtó függvény, mely egész számot ad vissza. LineNumberReader x=new LineNumberReader(new InputStreamReader(System.in)); String s=x.readLine(); int i=Integer.parseInt(s); return i; } public static void main(String[] args) throws Exception{ int i,j,n,k,x,h,g,m; int[] a=new int[100]; Létrehozunk három tömböt, az első kettőt fésüljük össze a harmadikba. Ezért a 3. tömbnek legalább annyi eleműnek kell lennie, mint az első kettőnek együtt. int[] b=new int[100]; int[] c=new int[200]; System.out.print("Hany szam legyen az a tombben? "); n=in(); i=0; while (i<n){ Véletlen számokkal feltöltjük az a tömböt. a[i]=(int)(90*Math.random()+1); i=i+1; } i=0; while(i+1<n) { Elrendezzük az a tömb elemeit, legkisebb alapján történő rendezéssel. Természetesen itt bármilyen rendezést használhatunk. g=i+1; while(g<n){ if (a[g]<a[i]){ x=a[g]; a[g]=a[i]; a[i]=x; } g=g+1; } i=i+1; } i=0; System.out.println("Az a tomb elemei rendezve:"); while(i<n) { System.out.println("Az a tomb "+i+". eleme: "+a[i]); i=i+1; } System.out.print("Hany szam legyen a b tombben? "); m=in(); j=0; while (j<m){ Véletlen számokkal feltöltjük a b tömböt. b[j]=(int)(90*Math.random()+1); j=j+1; } j=0; while(j+1<m) { Elrendezzük a b tömb elemeit, legkisebb alapján történő rendezéssel. Természetesen itt bármilyen rendezést használhatunk. h=j+1; while(h<m){ if (b[h]<b[j]){ x=b[h]; b[h]=b[j]; b[j]=x; } h=h+1; } j=j+1; } j=0; System.out.println("A b tomb elemei rendezve:"); while(j<m) { System.out.println("A b tomb "+j+". eleme: "+b[j]); j=j+1; } //a[] és b[] tömb elemeinek összefésülése következik i=0; j=0; k=0; while (i<n && j<m){ Amíg mindkét összefésülendő tömbben van további elem, addig hajtódik végre a ciklus. if (a[i]<b[j]){ Ha az a tömb i-edik eleme kisebb, mint a b tömb j-edik eleme, akkor az a tomb i-edik elemét rakja bele a c tömb aktuális elemébe. c[k]=a[i]; i=i+1; } else{ Ellenkező esetben a b tömb aktuális elemének értéke kerül a c tömb aktuális elemébe. c[k]=b[j]; j=j+1; } k=k+1; A c tömb következő elemére lépünk át. } while (i<n){ Ez a ciklus akkor lép életbe, ha a b tömb kevesebb elemű, mint az a tömb. Az a tömb maradék elemeit sorra belepakolja a c tömbbe. c[k]=a[i]; i=i+1; k=k+1; } while (j<m){ Ez a ciklus akkor lép életbe, ha az a tömb kevesebb elemű, mint a b tömb. A b tömb maradék elemeit sorra belepakolja a c tömbbe. c[k]=b[j]; j=j+1; k=k+1; } k=0; System.out.println("A ket tomb osszefesulese utan az uj tomb elemei:"); while (k<(n+m)){ Kiírjuk a c tömb elemeit. A ciklusfeltételben szereplő összeadás arra utal, hogy annyi szám van a c tömbben, mint az a-ban és b-ben együtt. System.out.println("Az uj tomb "+k+". eleme: "+c[k]); k=k+1; } } }