Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.71 KB | None | 0 0
  1. void zad2_11() {
  2.     //wszędzie w tych programach masz zdefiniować tablicę gdzie będzie prowadzone maksymalnie 100 liczb
  3.     //ja używam tutaj biblioteki array i tobie też polecam bo masz dużo fajnych funkcji które ułątwią ci zadanie
  4.     /* nie wiemy jakie to wartości więc bezpiecznie przyjąć, że są float czyli zmiennoprzecinkowe inny typ int -> całkowite */ std::array<float, 100> X; //typ elementów i maksymalna wartość elementów na końcu nazwa tablicy
  5.     //wczytywanie danych do tablicy
  6.     int n;
  7.     std::cout << "Podaj ilosc wprowadzanych liczb: ";
  8.     std::cin >> n;
  9.     for (int i = 0; i < n; i++) {
  10.         float liczba;
  11.         std::cout << "Podaj liczbe: ";
  12.         std::cin >> liczba;
  13.         X[i] = liczba;
  14.         std::cout << std::endl;
  15.     }
  16.     /* teraz jak działa tablica -> pierwszy element ma indeks 0 czyli w naszym przypadku indeksy są od 0 - 99 bo łącznie 100 wartości */
  17.     float M = 0.0; // zzmienna którą będziemy obliczać w zadaniu inicjalizujemy ją i nadajemy jej wartość
  18.     //teraz warto robić sobie to na elementy
  19.     float X_sr = 0.0; //średnia z X
  20.     float licznik = 0.0;
  21.     float max = 0.0;
  22.     float mianownik = 0.0;
  23.     // obliczamy na poczatku średnią | pętla działa do wielkości tablicy ( mozesz użyć funkcji wbudowanej sice albo zmiennej n którą zadeklarowałem przy wczytywaniu )
  24.     for (int i = 0; i < X.size(); i++) {
  25.         // w pętli dla każdego elementu dodajemy go do naszej zmiennej (czyli sumujemy wszystkie zmienne)
  26.         X_sr = X_sr + X[i];
  27.     }
  28.     //na końcu dzielimy przez rozmiar ( rozmiar to X.size() -> nazwa_tablicy.size() )
  29.     X_sr = X_sr / X.size();
  30.     //teraz obliczamy licznik -> ta sama pętla
  31.     for (int i = 0; i < X.size(); i++) {
  32.         //pow to funckja z biblioteki cmath którą dodałem na górze i liczy potęgę, pow(podstawa, potega)
  33.         licznik = licznik + pow(( X[i] - X_sr ), 2);
  34.     }
  35.     //mamy już gotowy licznik pod zmeinną licznik to obliczmy max z tablicy
  36.     //zawsze w takich sytuacjach jak sprawdzasz czy coś jest jakieś w tablicy to zakłądasz że 1 element taki jest i porównujesz go z innymi
  37.     // no w większości przypadków xD -> więc
  38.     max = X[0];
  39.     //i teraz sprawdzimy czy jest jakiś mniejszy element (mozesz użyć pętli takiej jak wcześniej dla ułatwienia)
  40.     for (int i = 0; i < X.size(); i++) {
  41.         //jeżeli maksymalna wartość jest MNIEJSZA niż element w tablicy który przeglądamy to za maksymalną wartość podstaw ten element (bo jest większy :))
  42.         if (max < X[i])max = X[i];
  43.     }
  44.     //tak mamy naszego maksa to teraz reszta mianownika
  45.     mianownik = pow(max, 2) - pow(X_sr, 2);
  46.     //no i końcowe M
  47.     M = licznik / mianownik;
  48.     std::cout << "Wynik: " << M << std::endl;
  49.     std::cin.ignore(1);
  50. }
  51.  
  52. int main()
  53. {
  54.     //wywołanie zadania 1
  55.     zad2_11(); 
  56.     std::cin.ignore(1);
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement