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.
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:
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ó.