Witam
Jestem studentem informatyki i jakiś czas temu zacząłem naukę javy. Ostatnio na zajęciach dostałem takie zadanie :
Napisz program, który :
1) utworzy tablicę N liczb całkowitych i wypełni je wartościami losowymi (N - stała),
2) wypisze na ekran zawartość tablicy,
-3) Wyznaczy największy oraz najmniejszy element tablicy,
4) wyznaczy 3 największe elementy tablicy (nie sortować tablicy)
5) wyznaczy średnią arytmetyczną elementów tablicy,
6) Wyświetli na ekranie zawartość tablicy w odwrotnej kolejności (od ostatniego elementu do pierwszego).
7) odwróci kolejność elementów w tablicy (element ostatni staje się pierwszym, itd.)
Napisałem taki kod programu:
public static void main(String[] args) {
int tab[] = new int[20];
int odwrotnie[] = new int[tab.length];
Random rand = new Random();
//Zapełnienie tablicy wartościami losowymi
for(int i=0; i < 20; i++) {
tab[i] = rand.nextInt(51) +99;
}
//Wyświetlenie zawartości tablicy
for(int i=0; i < 20; i++ ) {
System.out.println("tab[" +i+ "]: " +tab[i]);
}
//Wyznaczenie największego i najmniejszego elementu tablicy
int max = tab[0];
int min = tab[0];
for (int i = 0; i<tab.length; i++) {
if (tab[i] > max ) {
max = tab[i];
}else if (tab[i] < min) {
min = tab[i];
}
}
System.out.println("Największy elemęt tablicy: "+max);
System.out.println("Największy elemęt tablicy: "+min);
//Wyznaczenie 3 największych elementy tablicy
//Wyznaczenie średmiej arytmetycznej elemętów tablicy
double średnia, suma=0;
int długość = tab.length;
for (int i=0; i < tab.length; i++) {
suma = suma + tab[i];
}
średnia = suma / długość;
System.out.println("średnia elemętów tablicy wynosi:" +średnia);
//Wyświetlenie tablicy w odwrotnej kolejności;
for (int i = tab.length-1; i > 0;){
for (int j = 0; j < tab.length;j++){
odwrotnie[j] = tab[i];
i--;
}
}
System.out.println("Wyświetlenie tablicy w odwrotnej kolejności");
System.out.println(Arrays.toString(odwrotnie));
//odwrucenie kolejności elemętów tablicy
}
}
Mam problem z punktem 4 i 7, nie wiem jak wyznaczyć te największe 3 elementy i jak zamienić elementami indeksy tablicy(żepy ostatni był pierwszym itd.). Czy ktoś może mi pomóc w tym zadaniu?. Z góry dziękuję
pozdrawiam