Trojkat Pascala

0

Witam, mam problem ze zrobieniem tzw. choinki. Wygenerowalem wspolczynniki kolejnych rozwiniec dwumianu newtona (a+b)^0, (a+b)^1....*a+b)^n ale nie potrafie wymyslec jak je centrowac aby utworzyly klasyczny trojkat Pascala. Oto moj kod:


#include <iostream>
#include <cstdlib>
#include <iomanip>

using namespace std;

int silnia(int n);
void wspolczynnik(int n);
void wyswietlanie(int n);

int main()
{   int n;
    cout<<"Podaj n nalezace do przedzialu [0,10]=";
    cin>>n;
    if(n<0&&n>10) cout<<"Podane n nie znajduje sie w przedziale [0,10]"<<endl;
    else
    wspolczynnik(n);

    system ("pause");
    return 0;
}
int silnia (int n)
{
    if (n==0||n==1)  return 1;
    else             return n*silnia(n-1);
}
void wspolczynnik(int n)
{
    for (int i=0; i<=n; i++)
    {
        cout<<setw(4)<<"\t";
        wyswietlanie(i);
        cout<<endl;
    }
}
void wyswietlanie(int n)
{

        for (int i=0; i<=n; i++)
       cout<<silnia(n)/(silnia(i)*silnia(n-i))<<" ";

}
0

musisz ustawić długość segmentu na podstawie wprowadzonej liczby i na jej podstawie powstawiać spacje przed sekwencją liczb generowanych przez wzrór
mniej spacji co segment i tak osiągniesz swój cel

1
  1. Nie tak się liczy symbol newtona, silnia szybko rośnie, więc wynik szybko wykracza poza zakres liczby całkowitej.
  2. trójkąt Pascala najlepiej wypisywać przez licznie sum na tablicy.

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