You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.4 KiB
Plaintext

using System;
namespace Rekursion
{
class RekursiveBerechnung
{
public int addiereSummanden(int a, int b)
{
if (b == 0 && a == 0)
{
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)
{
{
if (a == 0 || b == 0)
{
return 0;
}
else
{
return addiereSummanden(a, multipliziereFaktoren(a, b - 1));
}
}
}
}
class Program
{
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");
char auswahl = (char)Console.Read();
if (auswahl.Equals("A")||auswahl.Equals("a"))
{
Console.WriteLine("Sie haben: 2 Summanden addieren gewählt, bitte geben Sie nun den ersten Summanden ein: ");
int summandA = Console.Read();
Console.WriteLine("Bitte geben Sie nun den zweiten Summanden ein: ");
int summandB = Console.Read();
RekursiveBerechnung rb = new RekursiveBerechnung();
int ergebnis = rb.addiereSummanden(summandA, summandB);
Console.WriteLine("Die Summe der Summanden A = {0} und B {0} ist {0}", summandA, summandB, ergebnis);
}
else
{
Console.WriteLine("Sie haben: 2 Faktoren miteinander multiplizieren gewählt, bitte geben Sie nun den ersten Faktor ein: ");
string faktorA = Console.ReadLine();
Console.WriteLine("Bitte geben Sie nun den zweiten Faktor ein: ");
string faktorB = Console.ReadLine();
RekursiveBerechnung rb = new RekursiveBerechnung();
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);
}
}
}
}