Trójkąt Pascala - problem z 1 tablicą

0

Witam, otóż jak w temacie mam problem z napisaniem takiego programiku z algorytmów:
Program wypisuje (wierszami) poziomy trójkąta Pascala do poziomu podanego przez użytkownika. Zadanie należy rozwiązać przy użyciu jednej tablicy.
Wszystko fajnie jest tyle że mi udalo się je zrobić za pomocą tablicy wielowymiarowej a nie potrafię wykonać za pomocą 1 tablicy jednowymiarowej. Proszę o jakąś idee.:(((

0
a=t[0];
for i=1..n
    b=t[i]+a
    t[i-1]=a
    a=b
0

Dzieki;) A czy tak może to wyglądać:?

#include <iostream>
using namespace std;

int main()
{
    cout<<"Podaj liczbe wierszy: \n";
    int wiersze;
    cin>>wiersze;
    cout<<"\n";
    const int a=10;
    
    int tab[a][a];
    
    memset( tab, 0, sizeof (tab));
    tab[0][0]=1;

    for ( int i=1; i<a; i++ )
    {
        tab[i][0]=1;
        for ( int j=1; j<a; j++ )
        {
            tab[i][j]=tab[i-1][j]+tab[i-1][j-1];
        }
    }
    for ( int i=0; i<a; i++ )
    {
        for ( int j=0; j<a; j++ )
        {
            if (tab[i][j]!=0)
                cout<<tab[i][j]<<" ";
        }
        cout<<"\n";
    }
    system ("pause");
}
0

to jak w końcu z tą tablicą? ile ma mieć wymiarów?

0

no tak 1 tablica i jeden wymiar ja robię na 2 wymiary bo inaczej nie potrafię:(

0

wcześniej pokazałem jak uzyskać kolejny wiesz

0
#include <cstdio>
#include <vector>

using namespace std;

int main()
{
  int n;
  printf("Podaj liczbe wierszy: ");
  scanf("%d",&n);
  vector<int> tab(n,0);
  tab[0] = 1;
  for (int i=1; i<=n; i++)
    {
      int prev = 0;
      for (int j=0; j<i; j++)
        {
          int curr = tab[j];
          tab[j] = prev+curr;
          prev = curr;
          printf("%d ",tab[j]);
        }
      printf("\n");
    }
  return 0;
}

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