Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void zad2_11() {
- //wszędzie w tych programach masz zdefiniować tablicę gdzie będzie prowadzone maksymalnie 100 liczb
- //ja używam tutaj biblioteki array i tobie też polecam bo masz dużo fajnych funkcji które ułątwią ci zadanie
- /* 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
- //wczytywanie danych do tablicy
- int n;
- std::cout << "Podaj ilosc wprowadzanych liczb: ";
- std::cin >> n;
- for (int i = 0; i < n; i++) {
- float liczba;
- std::cout << "Podaj liczbe: ";
- std::cin >> liczba;
- X[i] = liczba;
- std::cout << std::endl;
- }
- /* teraz jak działa tablica -> pierwszy element ma indeks 0 czyli w naszym przypadku indeksy są od 0 - 99 bo łącznie 100 wartości */
- float M = 0.0; // zzmienna którą będziemy obliczać w zadaniu inicjalizujemy ją i nadajemy jej wartość
- //teraz warto robić sobie to na elementy
- float X_sr = 0.0; //średnia z X
- float licznik = 0.0;
- float max = 0.0;
- float mianownik = 0.0;
- // 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 )
- for (int i = 0; i < X.size(); i++) {
- // w pętli dla każdego elementu dodajemy go do naszej zmiennej (czyli sumujemy wszystkie zmienne)
- X_sr = X_sr + X[i];
- }
- //na końcu dzielimy przez rozmiar ( rozmiar to X.size() -> nazwa_tablicy.size() )
- X_sr = X_sr / X.size();
- //teraz obliczamy licznik -> ta sama pętla
- for (int i = 0; i < X.size(); i++) {
- //pow to funckja z biblioteki cmath którą dodałem na górze i liczy potęgę, pow(podstawa, potega)
- licznik = licznik + pow(( X[i] - X_sr ), 2);
- }
- //mamy już gotowy licznik pod zmeinną licznik to obliczmy max z tablicy
- //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
- // no w większości przypadków xD -> więc
- max = X[0];
- //i teraz sprawdzimy czy jest jakiś mniejszy element (mozesz użyć pętli takiej jak wcześniej dla ułatwienia)
- for (int i = 0; i < X.size(); i++) {
- //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 :))
- if (max < X[i])max = X[i];
- }
- //tak mamy naszego maksa to teraz reszta mianownika
- mianownik = pow(max, 2) - pow(X_sr, 2);
- //no i końcowe M
- M = licznik / mianownik;
- std::cout << "Wynik: " << M << std::endl;
- std::cin.ignore(1);
- }
- int main()
- {
- //wywołanie zadania 1
- zad2_11();
- std::cin.ignore(1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement