RationalClass(Rasyonel sayilar sinifi) [C]

ALpMontana

КЯaL´da TaNıMaM КuяaL´da
Katılım
28 May 2006
Mesajlar
6,644
Reaction score
0
Puanları
0
Yaş
38
Konum
Eski Açık [ALiSamiYEN]
class Rational
{
public Rational(int nominator, int denominator)
{
//Kontrol
if (denominator == 0)
if (nominator == 0)
{
System.Console.WriteLine("Belirsiz");
return;
}
else
{
System.Console.WriteLine("Tanımsız");
return;
}
m_nominator = nominator;
m_denominator = denominator;
m_realValue = (double)m_nominator / m_denominator;
}
public int GetNominator()
{
return m_nominator;
}
public int GetDenominator()
{
return m_denominator;
}
public double GetRealValue()
{
return m_realValue;
}
public void SetNominator(int nominator)
{
m_nominator = nominator;
m_realValue = (double)m_nominator / m_denominator;
}
public void SetDenominator(int denominator)
{
//Kontrol
if (denominator == 0)
if (m_nominator == 0)
{
System.Console.WriteLine("Belirsiz");
return;
}
else
{
System.Console.WriteLine("Tanımsız");
return;
}
}
public Rational Add(Rational r)
{
return new Rational(m_nominator * r.m_denominator + r.m_nominator * m_denominator, r.m_denominator * m_denominator);
}
public Rational Subtract(Rational r)
{
return new Rational(m_nominator * r.m_denominator - r.m_nominator * m_denominator, r.m_denominator * m_denominator);
}
public Rational Multiply(Rational r)
{
return new Rational(m_nominator * r.m_nominator, m_denominator * r.m_denominator);
}
public Rational Divide(Rational r)
{
return new Rational(m_nominator * r.m_denominator, m_denominator * r.m_nominator);
}
public Rational GetSimplified()
{
int result = Obeb(m_nominator, m_denominator);
return new Rational(m_nominator / result, m_denominator / result);
}
public int Obeb(int nominator, int denominator)
{
int result = 1, x = 0;
if (nominator < denominator)
x = nominator;
else
x = denominator;

int[] dizi = new int[x];

for (int i = 2; i <= dizi.Length; i++)
{
while (nominator % i == 0 && denominator % i == 0)
{
nominator /= i;
denominator /= i;
result *= i;
}
}
return result;
}
private int m_nominator, m_denominator;
private double m_realValue;
}
// obeb fonksiyonları
//int obeb_bul(int nominator, int denominator)
//{
// int obeb = 1;
// int bolen = 2;
// while (nominator > 1 || denominator > 1)
// {
// if (nominator % bolen == 0 &&
// denominator % bolen == 0)
// {
// obeb *= bolen;
// nominator /= bolen;
// denominator /= bolen;
// }
// else if (nominator % bolen == 0)
// {
// nominator /= bolen;
// }

// else if (denominator % bolen == 0)
// {
// denominator /= bolen;
// }
// else
// {
// bolen++;
// }
// }
// return obeb;
//}


class RationalClass
{
public static void Main()
{
Rational r1 = new Rational(2, 3);
Rational r2 = new Rational(7, 4);
//Rational r3 = r1.Add(r2);
//Rational r3 = r1.Subtract(r2);
//Rational r3 = r1.Multiply(r2);
//Rational r3 = r1.Divide(r2);
Rational r3 = r1.GetSimplified();
System.Console.WriteLine("Pay:" + r3.GetNominator() + "\nPayda:" + r3.GetDenominator() + "\nGerçek Değer:" + r3.GetRealValue());
}
}
 
Geri
Üst