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.:(((
- Rejestracja:ponad 13 lat
- Ostatnio:około 6 lat
- Postów:18
0
- Rejestracja:ponad 13 lat
- Ostatnio:około 6 lat
- Postów:18
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");
}
edytowany 1x, ostatnio: madmike
- Rejestracja:prawie 16 lat
- Ostatnio:6 miesięcy
- Postów:2514
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;
}
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.