Die Berechnung einer Summe mit C++

Schrieb ich den folgenden code, um die Summe der Reihe (-1)^i*(i/(i+1)). Aber wenn ich es bekomme ich -1 für jeden Wert von n.

Kann jemand bitte erklären, was ich falsch mache? Vielen Dank im Voraus!

#include <iostream>
using namespace std;

int main()
{
    int sum = 0;
    int i = 1.0;
    int n = 5.0;

    for(i=1;i<=n;i++)
        sum = (-1)^i*(i/(i+1));

    cout << "Sum" <<" = "<< sum << endl;
    return 0;
}
Was denken Sie, die ^ Betreiber übernimmt? Sind Sie versuchen, durchführen einer exklusiv-oder-operation, oder versuchen Sie zu führen Potenzierung?
Und warum weisen Sie eine Gleitkommazahl auf eine Ganzzahl? (int i = 1.0)
gut ersten Ihrer Einstellung Summe jedem einzelnen Durchlauf der Schleife und nicht hinzufügen, um den vorherigen Wert. zweite ^ nicht aufbringen einer Kraft, wie Sie denken würde. check-out der c Mathematik-Bibliothek. und watch out für die impliziten Typumwandlungen, die passieren, wenn Sie teilen sich in eine Fraktion.

InformationsquelleAutor Surfcast23 | 2012-02-03

Schreibe einen Kommentar