package ejemplos;

class fraccion
{
  int num, den;

  fraccion(int n, int d)
  {
    num = n;
    den = d;
  }
  void asigna(int n, int d)
  {
    num = n;
    den = d;
  }
  void suma(fraccion a, fraccion b)
  {
    this.num = a.num * b.den + a.den * b.num;
    this.den = a.den * b.den;
  }

  void resta(fraccion a, fraccion b)
  {
    this.num = a.num * b.den - a.den * b.num;
    this.den = a.den * b.den;
  }

  void multiplica(fraccion a, fraccion b)
  {
    this.num = a.num * b.num;
    this.den = a.den * b.den;
  }

  void division(fraccion a, fraccion b)
  {
    this.num = a.num * b.den;
    this.den = a.den * b.num;
  }

  public String imprime()
  {
    int m;
    m = mcm(this.num, this.den);

    this.num /= m;
    this.den /= m;

    return (this.num + "/" + this.den);

  }

  int mcm(int a, int b)
  {
    int menor, resul = 1, i;

    menor = (a < b) ? a : b ;

    for(i=1; i<=menor; i++)
      if(a%i == 0 && b%i == 0) resul = i;

    return resul;
  }
}
