Algorytmy

Algorytmy zawierają:

1. [C++] Trójkąt Pascala  [poprzez dodawanie 2 górnych liczb]
2. [C++] Trójkąt Pascala  [poprzez symbol Newtona]


1. Trójkąt Pascala  [poprzez dodawanie 2 górnych liczb]
int n - liczba wierszy
int** trojkat - trójkąt pascala

    int** trojkat = new int*[n];
    for(int i = 0; i < n; ++i)
    {
        trojkat[i] = new int[i+1];
        trojkat[i][0] = 1;
        trojkat[i][i] = 1;

        for(int j = 0; j < i+1; ++j)
        {
            if(i == 0) trojkat[i][j] = 1;
            else if(i == 1) trojkat[i][j] = 1;
            else
            {
                if(j > 0 && j < i)
                    trojkat[i][j] = trojkat[i-1][j-1] + trojkat[i-1][j];
            }
        }
    }


2. Trójkąt Pascala  [poprzez symbol Newtona]
int n - liczba wierszy
int** trojkat - trójkąt pascala

    int silnia(int i)
    {
        if(i <= 0) return 1;

        return silnia(i-1)*i;

    }

    int** trojkat = new int*[n];
    for(int i = 0; i < n; ++i)
    {
        trojkat[i] = new int[i+1];

        for(int j = 0; j < i+1; ++j)

            trojkat[i][j] = silnia(i)/( silnia(j)*silnia(i-j) );
    }



2 komentarze:

  1. Dodaj jakiś fragment o kasowaniu tych zmiennych.

    OdpowiedzUsuń
    Odpowiedzi
    1. Myślę, że nie trzeba, ponieważ strona ma przedstawiać same algorytmy, a nie całe programy ;) A ten, kto jest zainteresowany takimi algorytmami (albo chce podejrzeć w jaki sposób dany algorytm działa), będzie wiedział jak tworzyć i usuwać dynamiczne tablice oraz budować całe programy. Ewentualnie hasło w Google: "tablice dynamiczne c++".

      Usuń