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

Trójkąt Pascala - problem z 1 tablicą
K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 6 lat
  • Postów:18
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.:(((

Xitami
  • Rejestracja:ponad 20 lat
  • Ostatnio:około rok
0
Kopiuj
a=t[0];
for i=1..n
    b=t[i]+a
    t[i-1]=a
    a=b
K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 6 lat
  • Postów:18
0

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

Kopiuj
#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");
}
edytowany 1x, ostatnio: madmike
Xitami
  • Rejestracja:ponad 20 lat
  • Ostatnio:około rok
0

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

K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 6 lat
  • Postów:18
0

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

edytowany 1x, ostatnio: kamils115
Xitami
  • Rejestracja:ponad 20 lat
  • Ostatnio:około rok
0

wcześniej pokazałem jak uzyskać kolejny wiesz

KR
  • Rejestracja:prawie 16 lat
  • Ostatnio:6 miesięcy
  • Postów:2514
0
Kopiuj
#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;
}

░█░█░█░█░█░█░█░█░█░█░█░
edytowany 1x, ostatnio: krwq

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.