Trójkąt Pascala - program w pascalu

Awatar użytkownika
Natasha
Użytkownik
Użytkownik
Posty: 986
Rejestracja: 9 lis 2008, o 15:08
Płeć: Kobieta
Podziękował: 97 razy
Pomógł: 167 razy

Trójkąt Pascala - program w pascalu

Post autor: Natasha »

Znalazłam taki program:

Kod: Zaznacz cały

program trojkatpascala;
const Nmax=20;
var i,j,N:integer;
A:array[1..Nmax,1..Nmax] of integer;

begin
writeln('Podaj liczbe wierszy trojkata pascala ');
write('[N-liczba wierszy <=',nmax,'] n= ');
readln(N);

begin
for i:=1 to N do
for j:=1 to N do
begin
a[i,j]:=0;
end;
for i:=1 to N do
begin
a[i,j]:=1;
a[i,1]:=1;
end;
for j:=2 to N do begin
for i:=j+1 to N do
begin
a[i,j]:=a[i-1,j]+a[i-1,j-1];
end;
end;
end;

begin
writeln('Elementy macierzy Trojkat Pascala ');
writeln;
for i:=1 to N do
begin
for j:=1 to N do
write(a[i,j]:3,#9);
writeln;

end;
end;


readln;

end.
Niby coś się dzieje jak wpisuje liczbę wierszy, ale to jednak nie jest to co trzeba tam otrzymać. Czy mógłby ktos na to zerknąć i poprawić żeby rysowało poprawny trójkącik? Tylko bez procedur itp proszę :P Aha i co znaczy "#9" i czy można jakoś inaczej to zapisać?

-- 28 kwietnia 2010, 19:57 --

i jeszcze taki programik:

Kod: Zaznacz cały

program procent_skladany;
var t,i,wykladnik,potega,wynik,podstawa:integer;
ods,ps,sp,st,w:real;

begin
if wykladnik:=0 then potega:=1 else
begin
wynik:=1;
for i:=1 to Abs(wykladnik) do
wynik:=wynik*podstawa;
if wykladnik<0 then wynik:=1/wynik;
potega:=wynik
end
end;

begin
write('podaj wielkosc kapitalu  ');
readln(w);
write('podaj wielkosc stopy procentowej  ');
readln(sp);
write('podaj czas lokaty kapitalu  ');
readln(t);
end;

begin
write('czas   kapital odsetki   ');
writeln;
sp:=sp/100;
for i:=1 to t do
begin
st:=potega(1+sp,i);
ps:=st*w;
ods:=ps-w;
writeln(i,#9,ps:6:1,#9,ods:6:1);
readln;
end;
end.

tu tez cos jest nie tak, chyba w 5 linijce jesli sie nie mylę. Proszę o poprawienie.
Xitami

Trójkąt Pascala - program w pascalu

Post autor: Xitami »

#9 albo chr(9) albo #$9 czyli tabulator
czasem wyświetla krzaczek, a czasem działa jak klawisz TAB, np. w notatniku,
skacze do następnej kolumny o numerze podzielnym przez 8

lepiej zostawić samo write(a[i,j]:4)

tak jak masz wyświetla się za dużo (prostokąt)
tak już trochę lepiej

Kod: Zaznacz cały

	for i:=1 to n do begin
		for j:=1 to i do   {TO I a nie TO N}
			write(a[i,j]:4);
		writeln
	end;
trójkątnie ale koślawo
pobaw się z tym, nie mam kompilatora, nie chce mi się liczyć ale
zmieniając cyferki we write uzyskasz co chcesz

Kod: Zaznacz cały

	for i:=1 to n do begin
		for j:=1 to n div 2 do
			write(':2);
		write(':2);
		for j:=1 to i do   {TO I a nie TO N}
			write(a[i,j]:4);
		writeln
	end;
ODPOWIEDZ