Cześć wszystkim!
Pisząc mały programik, napotkałem pewien problem... Program ma "narysować" niewypełniony trójkąt. Ma on mieć tyle wierszy, ile wynosi liczba podana przez użytkownika. Mój problem polega na tym, że nie mogę dobrać odpowiednich warunków, które by go rysowały.
Np. dla N = 7, całość prezentuje się tak:
------*
-----* *
----** *
---*** *
--**** *
-***** *
*************
Jak widać, połowa trójkąta nadal pozostaje wypełniona. Czy warunki których użyłem są w porządku? A może sposób w jaki zabrałem się za program jest zły?
Poniżej wklejam kod źródłowy.
program Project1;
var i, j, k, n : byte;
begin
write('Podaj N: ');
readln(n);
for i:=1 to n do
begin
for j:=n-i downto 1 do write('-');
for k:=i*2-1 downto 1 do
begin
if (k=1) or (k>i) or (i=n) then write('*')
else write(' ');
end;
writeln;
end;
readln;
end.