trojkat pascala, alokacja pamieci

0

Hej! Mam do napisania kod który wyświetli trójkąt Pascala. Jednak muszę to zrobić używając tablicy jednowymiarowej, która przechowuje tylko aktualnie wypisywany poziom. Ma wyjść coś takiego
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1 .

Na razie mam tyle:

#include <stdio.h>
#include <stdlib.h>

int main() {

	int h, i,j;
	printf("podaj wysokosc trojkatu pascala\n");
	scanf("%d",&h);
	
	int *pas;
	pas = (int*) malloc(1*sizeof(int));
	pas[0] = 1;
	for(i=1; i<=h; i++) {
		pas = (int *)realloc(pas, (i)*sizeof(int));
		for(j = 0; j<i; j++) {
				
			}
	}

} 

I brak mi pomysłu jak wypełnić, tablice liczbami. Proszę o pomoc!

0

Aby użyć jednowymiarowej tablicy musisz znaleźć zależności pomiędzy poszczególnymi poziomami.

http://pl.wikipedia.org/wiki/Tr%C3%B3jk%C4%85t_Pascala <--- zwróc szczególna uwagę na animację po prawej :D

0

Rozumiem, jak działa trójkąt Pascala, animacja nie jest trudna do zrozumienia :P gdyby zadanie polegało na użyciu tablicy 2d, byłoby po sprawie. Ale, czy gdy realokuje pamięć w pętli, to czy nie muszę jej na nowo wypełniać? Skąd wtedy pobrać wartości wypisane przy wcześniejszej iteracji?

0

Ok, dzięki za podpowiedź. Już sobie poradziłam z algorytmem :)

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