myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Osterformel nach Carl Friedrich Gauß
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Osterformel nach Carl Friedrich Gauß

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Jezzy
myCSharp.de-Mitglied

Dabei seit: 22.06.2015
Beiträge: 2


Jezzy ist offline

Osterformel nach Carl Friedrich Gauß

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Leute,

ich versuche gerade ein Programm zu schreiben(Osterformel nach Carl Friedrich Gauß) und benötige dringend Hilfe da ich nicht weiterkomme.

Das Programm soll berechnen, an welchem Tag Ostersonntag ist. Habe dazu folgenden Code:

C#-Code:
using System;

public class osterformel {

public static void Main(string[] args) {

int zahl, k, m, s, r, og, os, a, d, sz, oe;

zahl = Int32.Parse(args[0]);

k = zahl / 100;

m = 15 + (3 * k + 3) / 4 - (8 * k + 13) / 25;

s = 2 - (3 * k + 3) / 4;

a = zahl % 19;

d = (19 * a + m % 30);

r = d / 29 + (d / 28 - d / 29) * a / 11;

og = 21 + d - r;

sz = 7 - (zahl + zahl / 4 + s % 7);

oe = 7 - (og - sz % 7);

os = og + oe;

Console.WriteLine("Ostersonntag im Jahr " + zahl + " war am {0}", os);

}

}

Leider wirft das Programm mir nicht die richtigen Ergebnisse aus. Z.B. wenn ich den Ostersonntag im Jahr 2001 wissen möchte berechnet mir das Programm den 4.April und richtig wäre der 15.April. Was ist falsch? Hat es was mit Mod zu tun, das Mod irgendwie falsch berechnet wird? Danke.
22.06.2015 12:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Coffeebean Coffeebean ist männlich
myCSharp.de-Team

avatar-3295.gif


Dabei seit: 25.08.2011
Beiträge: 2.202
Entwicklungsumgebung: VS 2005-2017, VS Code
Herkunft: Deutschland/Schweiz


Coffeebean ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich denke das findest du mit dem Debugger schnell raus.

 [Artikel] Debugger: Wie verwende ich den von Visual Studio?
22.06.2015 13:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Cat
myCSharp.de-Mitglied

avatar-3070.jpg


Dabei seit: 25.10.2009
Beiträge: 771


Cat ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Schau dir mal  Gaußsche Osterformel: Eine ergänzte Osterformel an. Deine Formeln für d, sz und oe stimmen nicht (beachte die Klammern bzgl. mod).

@Coffeebean: mit dem Debugger alleine wird es schwer, wenn man nicht weiß, welche Formeln dahinter stehen bzw. welche Werte zu erwarten sind verwundert

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Cat am 22.06.2015 13:25.

22.06.2015 13:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Coffeebean Coffeebean ist männlich
myCSharp.de-Team

avatar-3295.gif


Dabei seit: 25.08.2011
Beiträge: 2.202
Entwicklungsumgebung: VS 2005-2017, VS Code
Herkunft: Deutschland/Schweiz


Coffeebean ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Cat:
@Coffeebean: mit dem Debugger alleine wird es schwer, wenn man nicht weiß, welche Formeln dahinter stehen bzw. welche Werte zu erwarten sind :baby:

Naja, die Berechnung sind "simple" Formeln. Die Frage

Zitat:
Hat es was mit Mod zu tun, das Mod irgendwie falsch berechnet wird?

lässt sich mit dem Debugger wunderbar beantworten wenn man sich das Ergebnis anschaut und mit dem vergleicht, was man erwartet. Dass man sich den Mod anschaut bevor man ihn verwendet setzen wir aufgrund der Eigeninitiative voraus.

Gruss

Coffeebean
22.06.2015 13:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Jezzy
myCSharp.de-Mitglied

Dabei seit: 22.06.2015
Beiträge: 2

Themenstarter Thema begonnen von Jezzy

Jezzy ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Toll nun hat es geklappt. Klammern waren wie gesagt wurde falsch gesetzt. Der richtige Code:

C#-Code:
using System;

public class osterformel
{

    public static void Main(string[]args)
    {

        int zahl, k, m, s, r, og, os, a, d, sz, oe;

        zahl = Int32.Parse(args[0]);

        k = zahl / 100;

        m = 15 + (3 * k + 3) / 4 - (8 * k + 13) / 25;

        s = 2 - (3 * k + 3) / 4;

        a = zahl % 19;

        d = (19 * a + m) % 30;

        r = d / 29 + (d / 28 - d / 29) * a / 11;

        og = 21 + d - r;

        sz = 7 - (zahl + zahl / 4 + s) % 7;

        oe = 7 - (og - sz) % 7;

        os = og + oe;

        if (os > 31)
            Console.WriteLine("Ostersonntag im Jahr " + zahl + " war am {0} April. ", os - 31);
        else
            if (os <= 31)
                Console.WriteLine("Ostersonntag im Jahr " + zahl + " war am {0} März. ", os);

    }

}

Danke!


mycsharp.de  Moderationshinweis von Coffeebean (22.06.2015 14:51):

Bitte benutze Code Tags!
 [Hinweis] Wie poste ich richtig? Punkt 6

 
22.06.2015 14:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 5 Jahre.
Der letzte Beitrag ist älter als 5 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 13.07.2020 10:52