Lujaska
Rozwiązane

Pomocy! Zadanie do zrobienia w c++/c+ :Przeprowadź następujący eksperyment: wylosuj 100 liczb całkowitych z przedziału[0,10]i wyznacz ich średnią. Czynność tę powtórz 10000 razy



Odpowiedź :

REGNAD

Odpowiedź:

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

int main()

{

   const int numbersLength = 100; //podajemy ilosc liczb do wylosowania

   int tabNumbers[numbersLength]; // tworzymy tablicę o zdeklarowanej wyżej wartości

   const int repetitions = 1000; //podajemy ilość powtórzeń (tyle razy ma się nam liczyć średnia)

   int sums[repetitions]; //tworzymy tablicę sum potrzebnych do policzenia średniej

   double averages[repetitions]; //tworzymy tablicę średnich takiej samej wielkości jak sum

   int sum = 0; //licznik sumy

   srand(time(NULL)); //seed liczb pseudolosowy losujący liczby

   for (int j = 0; j < repetitions; j++) //pętla licząca nam 10000 powtórzeń sumy

   {

       for (int i = 0; i < numbersLength; i++) //pętla losująca 100 liczb

       {

           tabNumbers[i] = rand() % 11; //losowanie liczb z zakresu 1 - 10

           sum += tabNumbers[i]; //liczenie pojedyńczej sumy potrzebnej do średniej

       }

       sums[j] = sum; // zapisuwanie sumy jako 1 z 10000 itd

       sum = 0; // zerowanie licznika sumy aby zacząć liczyć kolejny licznik w kolejnym obrocie

   }

   for (int i = 0; i < repetitions; i++) //pętla licząca średnią i wyświetlająca wyniki

   {

       averages[i] = 1.0 * sums[i] / numbersLength; // *1.0 aby wartość była double czyli z ułamkiem

       cout << averages[i] << endl;

   }

   return 0;

}

Wyjaśnienie:

masz wyjaśnienie po //

Jeśli pomogłem, to byłbym wdzięczny jeśli dasz naj :)