'Rekursion' ändern

master
Peter Ostmann 8 years ago
parent 480a32ac66
commit d877acac7b

@ -6,33 +6,15 @@ namespace Rekursion
{ {
public int addiereSummanden(int a, int b) public int addiereSummanden(int a, int b)
{ {
if (b == 0 && a == 0) if (b.Equals(0) && a.Equals(0)) { return 0; }
{ else if (a.Equals(0)) { return 1 + addiereSummanden(0, b - 1); }
else { return 1 + addiereSummanden(a - 1, b); }
return 0;
}
else if (a == 0)
{
return 1 + addiereSummanden(0, b - 1);
}
else
{
return 1 + addiereSummanden(a - 1, b);
}
} }
public int multipliziereFaktoren(int a, int b) public int multipliziereFaktoren(int a, int b)
{ {
{ if (a.Equals(0) || b.Equals(0)) return 0;
if (a == 0 || b == 0) else return addiereSummanden(a, multipliziereFaktoren(a, b - 1));
{
return 0;
}
else
{
return addiereSummanden(a, multipliziereFaktoren(a, b - 1));
}
}
} }
} }
@ -40,39 +22,36 @@ namespace Rekursion
{ {
static void Main(string[] args) static void Main(string[] args)
{ {
Console.WriteLine("Bitte wählen Sie aus, was Sie tun möchten:\r\n \r\nDrücken Sie A um 2 Summanden zu addieren\r\nDrücken Sie M um 2 Faktoren miteinander zu multiplizieren"); Console.WriteLine("Bitte wählen Sie aus, was Sie tun möchten:\r\n \r\nDrücken Sie A und dann Return, um 2 Summanden zu addieren\r\nDrücken Sie M und dann Return um 2 Faktoren miteinander zu multiplizieren");
string auswahl = Console.ReadLine();
char auswahl = (char)Console.Read();
if (auswahl.Equals("A") || auswahl.Equals("a")) if (auswahl.Equals("A") || auswahl.Equals("a"))
{ {
Console.WriteLine("Sie haben: 2 Summanden addieren gewählt, bitte geben Sie nun den ersten Summanden ein: "); Console.WriteLine("Sie haben: 2 Summanden addieren gewählt. \r\nBitte geben Sie nun den ersten Summanden ein: ");
int summandA = Convert.ToInt16(Console.ReadLine());
int summandA = Console.Read();
Console.WriteLine("Bitte geben Sie nun den zweiten Summanden ein: "); Console.WriteLine("Bitte geben Sie nun den zweiten Summanden ein: ");
int summandB = Convert.ToInt16(Console.ReadLine());
int summandB = Console.Read(); Console.WriteLine(Convert.ToString(summandA) + " " + Convert.ToString(summandB));
RekursiveBerechnung rb = new RekursiveBerechnung(); RekursiveBerechnung rb = new RekursiveBerechnung();
int ergebnis = rb.addiereSummanden(summandA, summandB); int ergebnis = rb.addiereSummanden(summandA, summandB);
Console.WriteLine("Die Summe der Summanden A = {0} und B {0} ist {0}", summandA, summandB, ergebnis); Console.WriteLine("Die Summe der Summanden A = {0} und B = {0} ist {0}", summandA, summandB, ergebnis);
} }
else else
{ {
Console.WriteLine("Sie haben: 2 Faktoren miteinander multiplizieren gewählt, bitte geben Sie nun den ersten Faktor ein: "); Console.WriteLine("Sie haben: 2 Faktoren miteinander multiplizieren gewählt, bitte geben Sie nun den ersten Faktor ein: ");
string faktorA = Console.ReadLine(); string faktorA = Console.ReadLine();
Console.WriteLine("Bitte geben Sie nun den zweiten Faktor ein: "); Console.WriteLine("Bitte geben Sie nun den zweiten Faktor ein: ");
string faktorB = Console.ReadLine(); string faktorB = Console.ReadLine();
RekursiveBerechnung rb = new RekursiveBerechnung(); RekursiveBerechnung rb = new RekursiveBerechnung();
int ergebnis = rb.multipliziereFaktoren(Convert.ToInt16(faktorA), Convert.ToInt16(faktorB)); int ergebnis = rb.multipliziereFaktoren(Convert.ToInt16(faktorA), Convert.ToInt16(faktorB));
Console.WriteLine("Die Summe der Summanden A = {0} und B {0} ist {0}", faktorA, faktorB, ergebnis); Console.WriteLine("Das Produkt der Faktoren A = {0} und B = {0} ist {0}", faktorA, faktorB, ergebnis);
} }
} }
} }

Loading…
Cancel
Save