Witam, po krótce. Mam do zrobienia na projekt program jak w tytule, deadline - dziś do północy. Mam jednak problem i już nie mam siły na niego, albowiem chodzi o średnią harmoniczną (innych jeszcze nie zacząłem, ale to już później) a chodzi głównie o to, że nie mogę, ciągle wychodzi mi zły wynik. Nie wiem jak już mam wpisać wzór na tą średnią by wszystko było okej. Wkleję kawałek kodu, jak to wygląda. Użytkownik wklepuje liczbę n, tj. liczbę wyrazów ciągu a później wartości
{
int n; //liczność ciągu liczbowego
float a = 0;
float Suma = 0.0f;
float MianownikHar;
Console.WriteLine("\nObliczamy średnią harmoniczną wyrazów ciągu liczbowego");
do
{
Console.WriteLine("Podaj liczność ciągu liczbowego n: ");
while (!int.TryParse(Console.ReadLine(), out n))
{
Console.WriteLine("\n\tERROR w zapisie liczby n wystąpił" + " niedozwolony znak");
Console.Write("\n\tPodaj wartość n jeszcze raz!: ");
}
if (n <= 0)
{
Console.WriteLine("\n\tLiczba n musi być większa od 0!");
Console.Write("\n\tPodaj wartość n jeszcze raz!: ");
}
for (int i = 1; i <= n; i++)
{
Console.Write("\n\tPodaj {0} -ą wartość wyrazu ciągu liczbowego: ", i);
while (!float.TryParse(Console.ReadLine(), out a))
{
Console.WriteLine("\n\tERROR w zapisie {0} -go wyrazu ciągu liczbowego" + " wystąpił niedozowolony\n\t\t znak", i);
Console.Write("\n\tPodaj wartość wyrazu ciągu liczbowego jeszcze raz!: ");
}
Suma = Suma + a;
}
} while (n <= 0);
MianownikHar = (1 / (float)a + (1 / (float)a));
float ŚredniaHarmoniczna;
ŚredniaHarmoniczna = ((float)n / MianownikHar);
string KomunikatWynikHar;
KomunikatWynikHar = String.Format("\n\n\tŚrednia harmoniczna " + "{0} wyrazów ciągu liczbowego jest równa: {1,6:F3}", n, ŚredniaHarmoniczna);
Console.WriteLine(KomunikatWynikHar);
Console.WriteLine("Dla kontynuacji działa programu naciśnij dowolny klawisz...");
Console.ReadKey();
}
Jeśli coś źle wkleiłem, napisałem to z góry przepraszam. Konto założyłem dopiero przed chwilą.