Skocz do zawartości

[Pascal] Choinka


X3o

Polecane posty

Witam :)

 

Znalazłem na internecie takie zadanie, jednak nie było do niego rozwiązania to się zacząłem zastanawiać co i jak, ale jakoś dość nie mogę i prosił bym o jakieś wskazówki bo zemnie programista cienki ale chce się uczyć :P A więc do rzeczy :)

Chce utworzyć choinkę. Choinka będzie miała wielkość odpowiednią do liczby podana przez użytkownika :P.

 

Na przykład dla liczby 3 będzie tak wyglądać :huh:

 

 

 

*

***

*****

***

*****

*******

*********

*****

*******

*********

***********

*************

*

*

*

 

 

 

 

A więc tak osobiście próbowałem to zrobić pięcioma pętlami FOR ale jakoś zmienne mi ciągle sie mieszają i bzdury wychodzą. A tak w ogóle w dobrym kierunku idę :] Proszę o jakieś wskazówki :)

 

 

 

EDIT:

 

Lol nawet nie zauważyłem że pod moim postem jest prawie ( robi wielką różnice ) identyczny tylko że zamknięty :P

 

P.S. Mam nadzieje że jak będzie ktoś czytał ten post to mu się krzywda nie stanie :lol: I jak się post powtarza to przepraszam :)

Link do komentarza
Udostępnij na innych stronach

Hmm.. to może zacznę od początku czyli pojedynczego trójkąta :)

 

Oto kod:

 

PROGRAM cos;
USES
 Crt;
VAR
 a, i, j : integer;
BEGIN
C]S]S]S]H
       NZXNb33&VDĆw&FTĆw&FTĆw&FTĆd\"ŁŁÓD<(  (=HQ<<(]Ń   FOR i:=1 TO j*2-1 DO
   Write ('*');
  WriteLn;[XYS

 

 

No i tak żeby tworzyły się kolejne "ucięte" trójkąty czyli warstwy choinki to co muszę zrobić dodać kolejną pętle czy może coś z funkcją IF pokombinować poproszę o jakąś podpowiedź ;)

 

 

A tak ort! ten algorytm rysuje na monitorze coś takiego :P

 

 

*

***

*****

*******

*********

Link do komentarza
Udostępnij na innych stronach

Starczy pętla w pętli, używaj zmiennej ilosc_gwiazdek w drugiej (zagnieżdzonej) a w tej nadrzędnej zwiększaj wartość ilosc_gwiazdek o 1, jak ilość gwiazdek będzie jakaś tam odpowiednia to ustawiasz ją na 1 + j * iles_tam, gdzie j to numer przebiegu pętli nadrzędnej. Może niezrozumiale to napisałem ale sprawa jest prosta, pomyśl.

Link do komentarza
Udostępnij na innych stronach

Dobra poddaje się nie mam pojęcia chyba za głupi jestem na to :P

 

Jak ktoś może niech wstawi kod, bo nadal jestem ciekaw jak to trzeba zrobić :)

I temat do zamknięcia tak w ogóle ;)

 

 

 

Pozdrawiam __ X3o ((:

Link do komentarza
Udostępnij na innych stronach

CYTATPrzecież na jakieś 95% to jest zadanie na zajęcia, a nie chęć nauki...

 

A na zajęciach to człowiek co robi jak się nie uczy ? Na zajęciach też można chętnie słuchać i udzielać się próbować itp. a nie tylko leserować.. tak ? :blink:

A jak ktoś idzie na taki kierunek a nie inny to chce się tego uczyć, interesuje go to ( może nie we wszystkich przypadkach.. ale pominę to.. ).. ale to tylko moja opinia. :huh:

 

 

A tak w ogóle to ja prosiłem o jakieś rozwiązania na początku.. :mellow: ? Poprosiłem tylko o podpowiedź. Niby takową podpowiedź dostałem ale była dość niejasna według mnie i zagmatwana :) Ale dziękuje że chociaż taką otrzymałem :)

 

Więc jak nie macie nic sensownego do napisania w tym temacie to nie piszcie.. idźcie podbijać sobie posty w innym temacie bo jak widzę coś takiego to mnie szlak trafia ( ale idiotów nie sieją ) :angry: np.:

 

CYTATprześlij mi 20 zł i masz rozwiązanie :D

CYTATPrzecież na jakieś 95% to jest zadanie na zajęcia, a nie chęć nauki...

 

 

P.S.

 

I dziękuje za słowa otuchy pozostałym użytkownikom wypowiadającym się w tym temacie :) Coś ciągle kombinuję tylko nie wiem tak naprawdę do czego się przyczepić. Bo ten wcześniejszy post że wystarczą dwie pętle..

Starczy pętla w pętli
jakoś w ogóle tego nie widzę ;)
Link do komentarza
Udostępnij na innych stronach

Tutaj masz ten kod... kilka pętelek... Wystarczyło pomyśleć... I nie nazywaj mnie więcej idiotą...

program choinka;
var
n,i,x,y,l,m:integer;
procedure rysujrza
X^ZYYN[YN[YY[ŁFVv65'ŚVGRwvŚFVFb#Śf\"łŁÓFFw&FRb)ŹŃźą}Źź)Ń) k:=1 to j do
write(' ');
writeln;
end;

begin
x:=1;NKLNXYNNLH^
NLH&VvŁł#ŚÓŁf\"ŁÓF\"śF&VvĄą(Ź()) i:=1 to n do rysujrzad(1,x);
end.

Piszę proste programy i stronki internetowe na zlecenie, zaliczenie...

Delphi, Pascal, C++, (X)HTML, CSS, trochę PHP, Javascript i MySQL

Kontakt: gg:1477872 e-mail: lewymati@wp.pl

Link do komentarza
Udostępnij na innych stronach

nie ma za co... aha... jak nie będziesz mógł nigdzie znaleźć zadań to polecam stronkę: http://opss.safo.biz/

Tam znajdziesz ciekawe zadania, które na pewno pomogą Ci w nauce (bo żeby dobrze umieć programować trzeba ćwiczyć ;) )

Piszę proste programy i stronki internetowe na zlecenie, zaliczenie...

Delphi, Pascal, C++, (X)HTML, CSS, trochę PHP, Javascript i MySQL

Kontakt: gg:1477872 e-mail: lewymati@wp.pl

Link do komentarza
Udostępnij na innych stronach

program Project1;

{$APPTYPE CONSOLE}

var ilosc_czesci[Y



B

(((()()edure RysujChoinke(liczba_czesci : Integer) ;
var
 i , j : [Y[X^ZXW[XH[VvW\"ĆvFVv66ćŚFW7ŚVv'ŚVGRĆUW7G6Ń)(ą}Ź(ą}Ączesci := 0 ;
 polowa_dlugosci_najdluzszego_rzedu := (5 + (XWHHJH

H]
H[HXW[67ŚW66fCĆ7Ś&7ŚW66F&VvĆUW7G6Łą}ą}ą}Ąą}Ź    for j := 1 to ilosc_gwiazdek + ile_pustych do
   begin
Y      H[WX[]J     N   NĘB[6Rw&FRb33b33VćBw&FVĆć2Ć}Ź(ą}ŹŹą}sowanych_czesci * 4 then
   begin
     Inc(liczba_narysowaXJH[X^ZHXW[XW66\"VćBVćBŚVćBŚ&Vvw&FVĆb33Aą(IąĄą}(Ihoinke(ilosc_czesci) ;
 Readln ;
end.

 

No, mówiłem że dwie pętle :D troche zagmatwane, dałem takie nazwy zmiennych żeby się można było łatwiej pokapować o co chodzi. Nie zrobiłem pnia bo mi sie już nie chciało ;>

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...