Gyakorlati alapok

Kisebb-nagyobb külön függvényekkel

 

Adott egy olyan feltételhalmaz, amely voltaképpen bármilyenre felállítható. Ám ebben a fejezetben:

if (a < b < c)

Az implementált metódusok a következők lesznek:

Ugyanakkor felmerül az első és utolsó tömbelem lekezelésének lehetősége is:

Ekkor vagy foglalkozunk velük vagy nem. A kód ezt a feltételhalmazt is lekezeli, bár még ezután is maradt benne 1 kis értelmezési probléma. Ennek megtalálása legyen a Tisztelt Olvasó házi feladata.

 

A kód része Sike Zoltán informatika tanár oktatási anyagának. Nézzük meg a futtatható Java-kódokat!

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

import java.util.Random;

public class Main {

public static boolean benneVan(int szam, int[] tomb) {
    boolean talalat = false;
    for(int i = 0; i < tomb.length; i++) {
        if(szam == tomb[i]) {
            talalat = true;
            break;
        }
    }
    return talalat;
    }
 

public static int[] tombFeltoltes(int elemszam, int hatar) {
    int[] tomb = new int[elemszam];
    Random rnd = new Random();
    int szam;
    for(int i = 0; i < tomb.length; i++) {
        do{
            szam = rnd.nextInt(hatar) + 1;
        }while (benneVan(szam, tomb));
        tomb[i] = szam;
    }
    return tomb;
}

public static int[] kisebbNagyobb (int[] szamok) {
    int[] indexek = new int[szamok.length];
    int db = 0;
    for(int i = 0; i < szamok.length; i++) {
        if(i == 0) {
            if(szamok[i] < szamok[i+1]) {
                indexek[db] = i;
                db++;
            }
        }else if(i == szamok.length - 1) {
            if(szamok[i-1] < szamok[i]) {
                indexek[db] = i;
                db++;
            }
        } else if((szamok[i] < szamok[i+1]) && (szamok[i-1] < szamok[i])) {
            indexek[db] = i;
            db++;
        }
    }
    return indexek;
}

public static void tombkiiras(int[] tomb){
    for(int i = 0; i < tomb.length; i++) {
        System.out.print(tomb[i] + " ");
    }
}
 

public static void main(String[] args) {
    int[] szamok = tombFeltoltes(10, 100);
    tombkiiras(szamok);
    System.out.println();
    tombkiiras(kisebbNagyobb(szamok));
    }
}

 

Végeredmény (például):

20 71 19 34 45 40 96 46 48 77
0 3 8 9 0 0 0 0 0 0

 

www.informatika-programozas.hu - Házi feladat

 

Házi feladat - Mondjunk egy olyan, már részletesen kifejtett algoritmust, amelyben szintén fontos a szomszédos elemek figyelése? Ha tudjuk a választ, programozzuk le!

 

A megoldás fejezete a képre kattintva érhető el.