Losowanie liczb, wartosc najmniejsza i najwieksza

Losowanie liczb, wartosc najmniejsza i najwieksza
KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Witam, próbowałem zrobic takie oto zadanie z ksiązki pana Kubiaka. Treść:Napisz program, który za pomocą instrukcji for znajduje największą i najmniejszą liczbę ze zbioru n wylosowanych liczb
całkowitych od 0 do 99 (w zadaniu n = 5) oraz oblicza średnią
ze wszystkich wylosowanych liczb.
Dlaczego wartosc minimalna została przyrownana do maksymalnej? "min=max", czemu dwa razy przypisuje się coś innego do zmiennej suma?
czemu wartosc minimalna jest Od razu przypisana do randomu i potem jeszcze w petli for? mógłby mi ktos wytluamczyc o co tu chodzi, linijke po linijce najlepiej. Dzieki wielkie!

Kopiuj
 int ilosc_liczb = 5, i;
                double liczba, suma = 0, min, max;
                System.out.println("Program losuje " + ilosc_liczb +  "liczb "
                        + "całkowitych od 0 do 99,");
                System.out.println("a następnie znajduje najmniejszą i największą");
                System.out.println("oraz oblicza średnia ze wszystkich wylosowanych liczb.");
                 Random r = new Random();
                 min = Math.round(100*(r.nextDouble()));
                 System.out.println();
                 System.out.print("Wylosowano liczby: " + min + ", ");
                max=min;
                suma = suma+max;
                for (i = 1; i <= ilosc_liczb-1; i++)
                {
                liczba = Math.round(100*(r.nextDouble()));
                System.out.print(liczba + ", ");
                if (max < liczba) max = liczba;
                if (liczba < min) min = liczba;
               suma = suma+liczba;
                }
                System.out.println();
                 System.out.println("największa liczba to " + max + ",");
                System.out.println("najmniejsza liczba to " + min + ",");
                System.out.println("średnia = " + suma/ilosc_liczb + ".");

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5027
0

Ten kod działa, jest z książki, czy to Twój?

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
1

Program losuje losową liczbę w przedziale 0 - 100, ustawia ją do zmiennej min i max oraz dodaje do zmiennej suma.
Następnie w pętli losowane jest N(ilosc_liczb) losowych wartości, które są porównywane ze zmiennymi min i max, jesli wartosc jest odpowiednio mniejsza lub wieksza to wartosc zmiennej min/max zostaje zmieniona. Wylosowana liczba dodawana jest do sumy.

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5027
1

Jak powyżej, losujemy pierwszą liczbę, ustawiamy na nią max, min i suma, a potem w pętli aktualizujemy, odpowiednio powyzsze wartości i, na koniec, drukujemy wynik.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Dzięki chłopaki za pomoc, ale dalej nie rozumiem. Znaczy się, wiem o co chodzi w zadaniu i jaki jest jego koncept ale naprawdę nie rozumiem czemu min=max a suma=suma+max

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Po prostu na początku losujesz jedną liczbę, która jest podstawiona zarówno pod min i max. Jest też dodawana do sumy, z której potem liczona jest średnia.

Dlaczego tak jest? Bardzo dobre pytanie :)

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5027
0

Jak Chcesz to zrozumiec, to Rozbij sobie to na trzy zadania: liczenie minimum, maksimum i średnią.

C.mind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 95
2

naprawdę nie rozumiem czemu min=max a suma=suma+max

Tę operację wykonujesz tylko po wylosowaniu pierwszej liczby. Ponieważ masz tylko ją, to jest ona jednocześnie i liczbą minimalną i maksymalną. Dodajesz ją do sumy. Potem już dla następnych liczb leci pętla, w której porównujesz konkretne wylosowane liczby do siebie i również dodajesz je do sumy.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

No dobra, dzięki wielkie, chyba po prostu muszę to przetrawić w swoim umyśle.
Jeeest, okej, udało się. Na początku jest losowana jedna liczba a w pętli losowane są kolejne 4 liczby...już rozumiem. Dziekuję pięknie

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.