Suma ciągu arytmetycznego.

0

Witam,

polecenie: Napisz program, który przy użyciu dowolnej pętli, policzy sumę ciągu arytmetycznego. Wyraz
początkowy, końcowy oraz różnicę wyrazów program powinien otrzymać od użytkownika. W kodzie
programu nie wolno Ci zastosować wzoru na sumę ciągu arytmetycznego.

Stworzyłem coś takiego:

int main()
{
    int poczatkowy,koncowy,roznica,suma=0;
    puts("Podaj wyraz poczatkowy");
    scanf("%d",&poczatkowy);
    puts("Podaj wyraz koncowy");
    scanf("%d",&koncowy);
    puts("Podaj roznice");
    scanf("%d",&roznica);
    if(poczatkowy<koncowy)
    {
    while(poczatkowy<koncowy)
    {
        suma=suma+roznica;
        poczatkowy+=roznica;
    }
    }
    else
    {
    while(poczatkowy>koncowy)
    {
        suma=suma+roznica;
        poczatkowy-=roznica;
    }
    }
    printf("suma wynosi: %d",suma);
    return 0;
}

Teraz pytanie: jak zainicjować to samo tylko za pomocą pętli "for" ?

1
for (suma = 0; poczatkowy < koncowy; suma += roznica, poczatkowy += roznica);
0
#include <stdio.h>
#include <math.h>
#include <conio.h>

int main()
{
    int a,b,r,s=0; //"a" - pierwszy wyraz ciągu, "b" - ostatni wyraz ciągu, "r" - różnica pomiędzy a i b, "s" - suma ciągu
    printf("Podaj pierwszy wyraz ciagu:");
    scanf("%d",&a);
    printf("Podaj ostatni wyraz ciagu:");
    scanf("%d",&b);
    printf("Podaj roznice pierwszego i ostatniego wyrazu ciagu (a-b v b-a):");
    scanf("%d",&r);
    if(a<b)
    {
        for(s=0;a<b;s+=r,a-=r);
    }
    if(a>b)
    {
        for(s=0;a>b;s+=r,a+=r);
    }
    printf("Suma ciagu wynosi:%d",s);
    getch();
}

Może ktoś powiedzieć czy to jest poprawne ? :)

0

Nie, jest zupełnie źle. Sprawdź dla a=0, b=5 i r=1.
Poza tym, i w komentarzu i w pytaniu kierowanym do użytkownika źle nazywasz liczbę r. To nie jest różnica między a i b, to jest różnica między dwoma kolejnymi wyrazami ciągu.

0

Ok, ok, wszystko już zmienione, tylko co trzeba jeszcze dopisać, aby zadziałał poprawnie ? Nie mam już żadnych pomysłów na to.

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