Dodanie mianownika do średni harmonicznej.

0

Hej!
Czy mógłby mi ktoś wyjaśnić poprawny sposób na przypisanie mianownika który ma się równać (a1+a2+…+an)?

else
                    if(WybranaFunkcjonalność.Key == ConsoleKey.F)
                {
                    Console.WriteLine("Obliczamy średnią harmoniczną");
                    float n;
                    double mianownik, wynik;
                    Console.Write("\n\tPodaj ilość liczb do średniej");
                    n = KonwersjaNaTypFLOAT(Console.ReadLine());

                    for (int i = 1; i <= n; i++)
                    {
                        Console.Write("Podaj a{0}:", i);
                        int a = int.Parse(Console.ReadLine());

                        mianownik = 1 / a;

                    }

                    wynik = n / mianownik;

                    Console.WriteLine("\n\tWynik: {0}", wynik);
                }
0

Teraz nie mogę otrzymać prawidłowego wyniku :/
Mogę prosić o wytłumaczenie dlaczego tak się dzieje?

                {
                    Console.WriteLine("Obliczamy średnią harmoniczną");
                    float n;
                    float mianownik = 0.0f;
                    float wynik;

                    Console.Write("\n\tPodaj ilość liczb do średniej");
                    n = KonwersjaNaTypFLOAT(Console.ReadLine());

                    for (int i = 1; i <= n; i++)
                    {
                        Console.Write("Podaj a{0}:", i);
                        int a = int.Parse(Console.ReadLine());

                        mianownik = mianownik + (1 / a);

                    }

                    wynik = n / mianownik;

                    Console.WriteLine("\n\tWynik: {0}", wynik);
                }
2

mianownik jest float, OK, ale działanie w nawiasie (1 / a) jest w integerach, Spróbuj: (1.0f / a).

0

Dziękuję!
Wiesz może jeszcze czy do średniej geometrycznej i kwadratowej mogę jakoś zmodyfikować ten kod?

1

To będa osobne funkcje, ale pattern podobny, mnożenie w pętli, czy dodawanie kwadratów, a potem odpowiednie pierwiastki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1