105.. Učitati niz (generisati dvocifrene vrijednosti). Naći minimalni i maksimalni član. Zamijeniti mjesta minimalnom i maksimalnom članu u nizu.
Opis rješenja: Pretpostavljamo da je prvi član najveći i najmanji, te da je indeks najvaćeg i najmanjeg člana sa nultim indeksom.
int indMin = 0;
int indMax = 0;
int tmax = niz[0];
int tmin = niz[0];
Zatim se pristupa nalaženju min i max vrijednosti kao i promjeni odgovarajućeg indeksa. Na kraju se mijenjaju mjesta min i max člana niza.
Listing programa:
package paket1;
import java.util.Scanner;
public class P10511040 {
// Ucitaj clanova niza, odredjivanje minimalnog i maksimalnog, mijenjanje mjesta minimalnom i maksimalnom clanu u nizu
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Ucitaj broj clanova niza: ");
int n = input.nextInt();
int niz[] = new int[n];
// Stvaranje dvocifrenih brojeva i ispisivanje niza:
for (int i = 0; i < n; i++) {
System.out.print((niz[i] = (int) ((Math.random() * 90) + 10)) + " ");
if (i % 30 == 29 || i == n - 1)
System.out.println(); // 30 u redu
}
/* ucitavanje clanova niza
System.out.println("Ucitaj clanove niza:");
for (int i = 0; i < niz.length; i++) {
System.out.print(i + "-->");
niz[i] = input.nextInt(); // ucitaj niz[i] - i-ti clan niza
}
*/
// pocetne vrijednosti
System.out.println(" ");
int indMin = 0;
int indMax = 0;
int tmax = niz[0];
int tmin = niz[0];
int b;
for (int i = 0; i <= n - 1; i++) {
if (tmin > niz[i]) { // min
tmin = niz[i];
indMin = i; // indeks min
}
if (tmax < niz[i]) { // max
tmax = niz[i];
indMax = i; // indeks max
}
}
System.out.println("Najmanji clan je: " + tmin + ", njegov indeks je: " + indMin);
System.out.println("Najveci clan je: " + tmax + ", njegov indeks je: " + indMax);
b = niz[indMin];
niz[indMin] = niz[indMax];
niz[indMax] = b;
for (int i = 0; i < niz.length; i++)
System.out.print(niz[i] + " ");
}
}
Ispis na ekranu:
Ucitaj broj clanova niza: 20
29 44 75 51 17 87 67 95 58 99 14 72 27 88 72 18 48 64 79 78
Najmanji clan je: 14, njegov indeks je: 10
Najveci clan je: 99, njegov indeks je: 9
29 44 75 51 17 87 67 95 58 14 99 72 27 88 72 18 48 64 79 78
Index
|