Informatică, întrebare adresată de alexiagiu18, 8 ani în urmă

am nevoie urgent de o rezolvare. ​

Anexe:

Răspunsuri la întrebare

Răspuns de Apollyon
1

Răspuns:

#include <stdio.h>

typedef struct Fractie

{

   int x, y;

} Fractie;

Fractie adunaFractii(Fractie f1, Fractie f2);

int main()

{

   Fractie f1 = {5, 3};

   Fractie f2 = {6, 4};

   Fractie f = adunaFractii(f1, f2);

   printf("f >> %d/%d\n", f.x, f.y);

   Fractie f3 = {10, 10};

   Fractie f4 = {15, 10};

   f = adunaFractii(f3, f4);

   printf("f >> %d/%d\n", f.x, f.y);

   return 0;

}

Fractie adunaFractii(Fractie f1, Fractie f2)

{

   Fractie sumaFractii;

   if (f1.y == f2.y)

   {

       sumaFractii.x = f1.x + f2.x;

       sumaFractii.y = f1.y;

   }

   else

   {

       sumaFractii.x = (f1.x * f2.y + f1.y * f2.x);

       sumaFractii.y = f1.y * f2.y;

   }

   return sumaFractii;

}

Explicație:

  • Dacă numitorii fracților sunt egali noua fracție va avea ca numărător suma numărătorilor lui f1 și f2 și oricare dintre cei 2 numitori.
  • Dacă ai două fracții cu numitori diferiți înmulțești numărătorul lui f1 cu numitorul lui f2 și numărătorul lui f2 cu numitorul lui f1, faci suma produselor și o setezi ca numărătorul noii fracții. Numitorul noii fracții este produsul numitorilor celor 2.

Alte întrebări interesante