Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Ciąg arytmetyczny c++

Ostatnio zmodyfikowano 2011-04-22 17:32
Autor Wiadomość
adam33x
Temat założony przez niniejszego użytkownika
Ciąg arytmetyczny c++
» 2011-04-20 09:36:41
Witam,mam pytanie. Dlaczego dla a=2 i n=2 suma ciągu arytmetycznego wynosi 4 (r=1).
C/C++
#include <iostream>
#include <conio.h>
using namespace std;
float licz( int liczba )
{
    float suma = 0, mian = 0;
    short a = 1, n = 1;
    for(; liczba > 0; liczba--, n++ )
    {
        a += n - 1; // pierwszy wyrazu ciagu
        cout << "a: " << a << " n: " << n << endl;
        mian =((( 2 * a ) +( n - 1 ) ) / 2 ) * n; //mianownik wyrazenia
        cout << "mian: " << mian << endl;
        suma = suma +( 1 / mian ); //suma ulamkow
        cout << "suma: " << suma << endl; getch();
    }
    return suma;
}

int main()
{
    int ilosc;
    cin >> ilosc;
    int * tab = new int[ ilosc ];
    float * wyniki = new float[ ilosc ];
    for( int j = 0; j < ilosc; j++ )
    {
        cin >> tab[ j ];
    }
    for( int j = 0; j < ilosc; j++ )
    {
        wyniki[ j ] = licz( tab[ j ] );
        cout << wyniki[ j ] << endl;
    }
    delete[] tab;
    delete[] wyniki;
    getch();
    return 0;
}
Proszę o szybką odpowiedź.
P-31265
pekfos
» 2011-04-20 13:59:42
kod w [cpp][/cpp] wsadź.
P-31273
ison
» 2011-04-20 16:04:41
C/C++
for( int i = 1; i < n; i++ ) // pierwszy wyrazu ciagu
{ a++; }
dlaczego n-1 razy dodajesz 1 do zmiennej a? :p
po co for?
P-31276
adam33x
Temat założony przez niniejszego użytkownika
» 2011-04-21 18:02:45
@up
Algorytm wylicza wartość wyrażenia
f(1)=1/1
f(2)=1/1+1/(2+3)
f(3)=1/1+1/(2+3)+1/(4+5+6)
f(4)=1/1+1/(2+3)+1/(4+5+6)+1/(7+8+9+10)
itd.

Pętla for o którą pytasz ustala pierwszy wyraz ciągu arytmetycznego w mianowniku powyższego wyrażenia.
P-31502
ison
» 2011-04-21 21:26:05
@up tak, ale po co do tego używać fora?
Nie uważasz że zamiast n razy dodawać 1 do liczby można do niej dodać jednokrotnie liczbę n? ;)
P-31558
adam33x
Temat założony przez niniejszego użytkownika
» 2011-04-22 17:32:54
@up
Masz rację ;-) Ale nie a+=n tylko a+=n-1
Ale to nie wyjaśnia dlaczego dla a=2 i n=2 mian=4 chociaż powinno być 5
P-31657
« 1 »
  Strona 1 z 1