błąd semantyczny w programie

0
#include <stdio.h>
int main (void)
{
    float licznik;
    float a;
    float suma;
    float suma2;
    suma = suma2 = 0.000;
    printf("licznik: %f||a: %f\n", licznik, a);

    printf("podaj granice\n");
    scanf("%f", &a);

    for(licznik = 1.; licznik <=a; licznik+=2.)
    {
        suma += 1./licznik + 1./(licznik + 1.);
        suma2 += 1./licznik - 1./(licznik + 1.);
        printf("suma: %f||suma2: %f\n", suma, suma2);
    }
    printf("suma: %e\nsuma2: %e\n", suma, suma2);
    printf(" licznik: %f a: %f", licznik, a);
    return 0;
}
1
#include <stdio.h>
int main (void)
{
    int licznik = 0, m = -1;
    float suma = 1.f, suma2 = 1.f, a = 0.f;
    printf("licznik: %d||a: %f\n", licznik, a);

    printf("podaj granice\n");
    scanf("%f", &a);

    for(licznik = 2.; licznik <= a; ++licznik)
    {
        suma += 1./(licznik);
        suma2 += m * 1./(licznik);
        m *= -1;
        printf("suma: %f||suma2: %f\n", suma, suma2);
    }
    printf("suma: %e\nsuma2: %e\n", suma, suma2);
    printf(" licznik: %d a: %f", licznik, a);
    return 0;
}

o to chodzi?

0

Dobrze jest chyba :D

Dzięki za pomoc :D

0
pasasap napisał(a)

Pierwsza suma powinna się zbliżać do 2, co można łatwo w głowie policzyć, lecz tu coś mi nie wychodzi..

1 + 1/2 + 1/3 + 1/4 + 1/5 ... > 2 (i ciągle będzie rosnąć)

1 użytkowników online, w tym zalogowanych: 0, gości: 1