void goofyCancel(int numerator, int denominator) { int n1, d1, n2, d2; if (numerator == denominator) return; if (firstDigit(numerator) == secondDigit(denominator)) { n1 = numerator; d1 = denominator; n2 = secondDigit(numerator); d2 = firstDigit(denominator); simplify(&n1, &d1); simplify(&n2, &d2); if ((n1 == n2) && (d1 == d2)) { printf("%d/%d => %d/%d = %d/%d\n", numerator, denominator, secondDigit(numerator), firstDigit(denominator), n1, d1); if ((n1 / d1) < 1) { cumulativeNumerator *= numerator; cumulativeDenominator *= denominator; } } } if (secondDigit(numerator) == firstDigit(denominator)) { n1 = numerator; d1 = denominator; n2 = firstDigit(numerator); d2 = secondDigit(denominator); simplify(&n1, &d1); simplify(&n2, &d2); if ((n1 == n2) && (d1 == d2)) { printf("%d/%d => %d/%d = %d/%d\n", numerator, denominator, firstDigit(numerator), secondDigit(denominator), n1, d1); if ((n1 / d1) < 1) { cumulativeNumerator *= numerator; cumulativeDenominator *= denominator; } } } }
Registo atualizaRegContribuidores(Registo reg,long id,void* estrutura){ int i = firstDigit(id); reg->contribuidores[i] = atualizaAvl(reg->contribuidores[i],id,estrutura); return reg; }
Registo atualizaRegArtigos(Registo reg, long id,void* estrutura){ int i = firstDigit(id); reg->artigos[i] = atualizaAvl(reg->artigos[i],id,estrutura); return reg; }
Registo insereRegContribuidor(Registo reg,long id,void* estrutura){ int i = firstDigit(id); reg->contribuidores[i] = insertAvl(reg->contribuidores[i],id,estrutura); return reg; }
Registo insereRegArtigo(Registo reg, long id,void* estrutura){ int i = firstDigit(id); reg->artigos[i] = insertAvl(reg->artigos[i],id,estrutura); return reg; }
Avl getRegContribuidores(Registo r, long id) { int i=firstDigit(id); return r->contribuidores[i]; }
Avl getRegArtigos(Registo r, long id){ int i= firstDigit(id); return r->artigos[i]; }