Gyakorlati alapok

Elemi programozási tételek egy 10 elemű tömbön

 

Minimumkiválasztás

 

A legjobb tudomásom szerint nem része az elemi programozási tételeknek, bár a maximumkiválasztás benne van. A 2 algoritmus tulajdonképpen nagyon hasonló egymáshoz, ezért villámgyorsan ideszerkesztem a minimumkiválasztást is. A minimumkiválasztás kódjában a relációs jel irányát (if(tomb[i] < minimum)) és az int minimum kezdőértékét kell átállítanunk; az utóbbinak nagyobbnak kell lennie, mint a lehetséges legnagyobb elem (itt 50), másként rossz végeredményt kaphatunk.

 

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

 

 

 

 

 

 

 

 

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rnd = new Random();
        int tomb[] = new int[10];
        int minimum = 51;
        for(int i = 0; i < tomb.length; i++) {
            tomb[i] = rnd.nextInt(50) + 1;
            System.out.print(tomb[i] + " ");
            if(tomb[i] < minimum){
                minimum = tomb[i];
            }
        }
    System.out.println("\n" + minimum);
    }
}

 

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

25 32 4 36 25 21 18 42 23 44
4

 

Ha esetleg nemcsak a maximumra, hanem annak indexére (minIndex) is kíváncsiak vagyunk, a kódot csak kis mértékben kell módosítanunk:

 

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

 

 

 

 

 

 

 

 

import java.util.Random;

public class Main {
public static void main(String[] args) {
    Random rnd = new Random();
    int tomb[] = new int[10];
    int minimum = 51;
    int minIndex = 0;
    for(int i = 0; i < tomb.length; i++) {
        tomb[i] = rnd.nextInt(50) + 1;
        System.out.print(tomb[i] + " ");
        if(tomb[i] < minimum){
            minimum = tomb[i];
            minIndex = i;
        }
    }
    System.out.println("\nA minimum (" + minimum + ") a(z) "
                                + (minIndex + 1) + ". helyen található.");
    }
}

 

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

11 17 9 23 14 25 9 42 47 5
A minimum (5) a(z) 10. helyen található.