C# Heron Verfahren

Diskutiere C# Heron Verfahren im .NET Technology Forum; Hallo, ich habe versucht ein Programm zum Heron-Verfahren zu schreiben, bekomme aber leider kein Ergebnis bzw. 0 raus. Und ich finde auch den...

  1. TotalerAnfängerin
    TotalerAnfängerin Neues Mitglied
    Hallo,

    ich habe versucht ein Programm zum Heron-Verfahren zu schreiben, bekomme aber leider kein Ergebnis bzw. 0 raus. Und ich finde auch den Fehler nicht. Wäre super, wenn mir jemand etwas weiterhelfen könnte, wo genau mein Fehler liegt und/oder wie ich es besser schreiben könnte.

    Die Wurzel soll für die Zahlen zwischen 10 und 100 berechnet werden (in 10er-Schritten, also 10, 20, 30 usw.) und es darf nicht Math.sqrt verwendet werden.
    Dir for-Schleife für die Ausgabe habe ich in die Main-Methode eingebaut, die Berechnung für Heron ist eine eigene Funktion.

    Code (C):
     double d = 0;                 // d ist der Wert für q
                double firstResult;           // Wert für das Ergebnis der ersten Iteration
                double secondResult;          // Ergebniswert für alle folgenden Iterationen

                firstResult = 1 / 2 + (1 + d / 1);
                secondResult = 1 / 2 * (firstResult + (d / firstResult));
                return secondResult;
    Dankeschön im Voraus.
     
  2. Vielleicht hilft dir dieses Training hier weiter.
  3. Dompteur
    Dompteur Aktives Mitglied
    Das Ergebnis der Division von 2 ganzzahligen Werten ist wiederum ein ganzzahliger Wert. Du erwartest aber wahrscheinlich ein Ergebnis von Typ double.
    Also 1 / 2 ergibt 0 !
    Du kannst einfach bei jeder ganzen Zahl ein ".0" anhängen.
     
    TotalerAnfängerin gefällt das.
  4. krgewb
    krgewb Aktives Mitglied
    d / 1 ist wiederum d.
     
    TotalerAnfängerin gefällt das.
  5. TotalerAnfängerin
    TotalerAnfängerin Neues Mitglied
    Stimmt natürlich, danke.
    Allerdings bekomme ich trotzdem nicht das richtige Ergebnis raus. Mein Programm gibt mir dasselbe Ergebnis für alle Zahlen aus und zwar 1,45 - das stimmt vor und hinten nicht.
     
  6. TotalerAnfängerin
    TotalerAnfängerin Neues Mitglied
    Schon, aber selbst wenn ich es in nur d ändere, gibt es mir den falschen Wert raus :/
     
  7. Dompteur
    Dompteur Aktives Mitglied
    Ich habe das jetzt mit 2 weiteren Iterationen selbst ausprobiert.

    Code (Java):

    using System;

    public class Test
    {
        public static void Main()
        {
            double d = 0;                 // d ist der Wert für q
            double firstResult;           // Wert für das Ergebnis der ersten Iteration
            double secondResult;          // Ergebniswert für alle folgenden Iterationen

            firstResult = 1.0 / 2.0 + (1.0 + d / 1.0);
            Console.WriteLine(firstResult);
            secondResult = 1.0 / 2.0 * (firstResult + (d / firstResult));
            Console.WriteLine(secondResult);
            double thirdResult = 1.0 / 2.0 * (secondResult + (d / secondResult));
            Console.WriteLine(thirdResult);
            double forthResult = 1.0 / 2.0 * (thirdResult + (d / thirdResult));
            Console.WriteLine(forthResult);
        }
    }
     
    Das liefert mir folgende Ausgabe:
    Code (Text):
    1.5
    0.75
    0.375
    0.1875
    Du kannst das online hier nachvollziehen: https://ideone.com/g8lyfm
     
    TotalerAnfängerin gefällt das.
  8. TotalerAnfängerin
    TotalerAnfängerin Neues Mitglied
    Also ich zeige jetzt mal die for-Schleife und die Ausgabe.
    Irgendwo habe ich einen herben Fehler. Zudem ist mir bereits der erste Fehler aufgefallen: bei firstResult sollte es
    "0.5 * (1.0 + (d/1.0))" lauten.
    Code (C):
    Console.WriteLine("Wurzelberechnung mit dem Heronverfahren:");
                for (double d = 0; d <= 100; d += 10)
                {
                    Console.WriteLine($"{d,4}  | {WurzelHeron(d),8:F5} | {Math.Sqrt(d),8:F5} |  {Math.Sqrt(d),8:F5}");
                }
    2.PNG
     
  9. Dompteur
    Dompteur Aktives Mitglied
    Zeig doch bitte einmal den vollständigen Code der Methode "WurzelHeron".
     
  10. TotalerAnfängerin
    TotalerAnfängerin Neues Mitglied
  11. TotalerAnfängerin
    TotalerAnfängerin Neues Mitglied
  12. TotalerAnfängerin
    TotalerAnfängerin Neues Mitglied
    Das war schon der ganze Code... Jetzt schäme ich mich :oops:
    Ich hatte mir noch überlegt eine Schleife in die Funktion einzubauen, weiß aber nicht ob das überhaupt was bringen würde.
     
  13. Wenn du Java lernen möchtest, empfehlen wir dir diese Online-Training hier
Die Seite wird geladen...

C# Heron Verfahren - Ähnliche Themen

Programm nach dem Heronverfahren
Programm nach dem Heronverfahren im Forum Java Basics - Anfänger-Themen
Heron-Verfahren
Heron-Verfahren im Forum Hausaufgaben
Quadratwurzel nach Heron in rekursiver Darstellung
Quadratwurzel nach Heron in rekursiver Darstellung im Forum Java Basics - Anfänger-Themen
Daten für Klassifikationsverfahren gewinnen
Daten für Klassifikationsverfahren gewinnen im Forum Allgemeine Java-Themen
Traversierungsverfahren Baum: LevelOrder
Traversierungsverfahren Baum: LevelOrder im Forum Java Basics - Anfänger-Themen
Thema: C# Heron Verfahren

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. heron verfahren c

    ,
  2. c programm heron

    ,
  3. heron c

    ,
  4. program heron,
  5. c# wurzberechnung nach dem heron verfahren,
  6. sqrt in heron in c,
  7. c# heron verfahren,
  8. heron verfahren mit c