105.. Učitati niz X od n članova. Naći maksimum poređenjem nultog člana niza.
Opis rješenja: Poređenje prvog člana niza se izvodi u liniji 26 if (a[0] > a[i]). Po potrebi se izvodi promjena sadržaja i-tog člana niza sa nultim članom.
Prije pretrage:
3 4 6 4 8 9 1 9 1 0
Postupak trazenja maksimuma na prvom mjestu:
i1 4 3 6 4 8 9 1 9 1 0
i2 6 3 4 4 8 9 1 9 1 0
i4 8 3 4 4 6 9 1 9 1 0
i5 9 3 4 4 6 8 1 9 1 0
Listing programa:
package paket1;
import java.util.Scanner;
public class P10511038 {
// uredjivanje niza brojeva metodom susjednih clanva
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// citanje duzine niza:
System.out.print("Unesi broj clanova ");
int n = input.nextInt();
// clanovi niza
int[] a = new int[n];
// Stvaranje i ispisivanje niza:
for (int i = 0; i < n; i++) {
System.out.print((a[i] = (int) (Math.random() * 10)) + " ");
if (i % 30 == 29 || i == n - 1)
System.out.println(); // 30 u redu
}
// maksimum niza
int b;
System.out.print("Maksimumum na prvom mjestu:\n");
for (int i = 1; i < n; i++) {
if (a[0] > a[i]) { // nulti clan niza veci?
b = a[i]; // zamjena mjesta
a[i] = a[0];
a[0] = b;
// dio za ispis pri svakoj promjeni
// System.out.print("i" + i + " ");
// for (int k = 0; k < n; k++)
// System.out.print(a[k] + " ");
// System.out.println();
}
}
// ispis
for (int k = 0; k < n; k++)
System.out.print(a[k] + " ");
}
}
Ispis na ekranu:
Unesi broj clanova 10
3 4 6 4 8 9 1 9 1 0
Maksimum na prvom mjestu:
9 3 4 4 6 8 1 9 1 0
Index
|