Sumowanie ulamkow zwyklych

Sumowanie ulamkow zwyklych
K3
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 2 lata
  • Postów:34
0

Program w C, mógłby ktoś mnie nakierować?
Napisz program, w którym ułamki zapisane są w postaci struktur:
struct ulamek{
int licznik;
int mianownik;
};
zaimplementuj operację dodawania ułamków (pamiętaj o konieczności obliczenia NWD), Program powinien pobierać niezerową liczbę naturalną n >= 2 i wyświetla wartość sumy
1/2 + 2/3 + 3/4 +4/5 + 5/6+ ... + (n-1)/n
np.
3
7/6

5
163/60

edytowany 1x, ostatnio: Kondzio33
MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:3 minuty
2
Kopiuj
typedef struct Fraction {
    int numerator, denominator;
} Fraction;

Fraction fractionAdd(Fraction a, Fraction b);
Fraction fractionMul(Fraction a, Fraction b);
Fraction fractionCommon(Fraction a);
Fraction fractionMake(int numerator, int denominator);
Fraction fractionMakeFromDouble(double x);
int fractionScanFrom(FILE *f, Fraction* a);
void fractionPrintTo(FILE* f);

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22
Althorion
W zadaniu była mowa tylko o dodawaniu w sumie…
Althorion
Moderator C/C++
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 23 godziny
  • Postów:1605
1
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4930
0

Zacznij tak:

Kopiuj
struct ulamek {
    int licznik;
    int mianownik;
};

int gcd (int a, int b) {
    while (b != 0) {
        int c = a % b;
        a = b;
        b = c;
    }
    return a;
}

void showUlamek(struct ulamek f) {
    printf("%d / %d\n", f.licznik, f.mianownik);
}

struct ulamek add(struct ulamek f1, struct ulamek f2) {
     int l =  f1.licznik * f2.mianownik + f2.licznik * f1.mianownik;
     int m =  f1.mianownik * f2.mianownik;
     int d = gcd(l, m);  
     struct ulamek out = {l / d, m / d};
     return out; 
}

A tę pętle, już łatwo dopisać...


_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:dzień
0

Radzę przekształcić to na
(n-1) - (1/2 +1/3 +1/4 ... +1/n)
Znacznie łatwiej się oblicza, to co w nawiasach nazywa się ciąg harmoniczny - zbadany wzdłuż i wszerz.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.