• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program - rysowanie choinki z pniem

0 głosów
270 wizyt
pytanie zadane 3 października 2018 w Java przez dzideos Obywatel (1,240 p.)

Witam,

Mam za zadanie narysować choinkę z gwiazdek(co też zrobiłem) jak i również ma się pojawiać pień do niej umiejscowiony na samym środku, podstawy w postaci "#".  Mam z tym problem, potrzebuję pomocy,wszelkie wskazówki mile widziane i z góry dziękuje za odpowiedź.

package zad1lista2;

import java.util.Scanner;

public class zad1lista2 {
	public static void main(String[] arg) {
		int h, a;
		char star = '*';
		System.out.print("Enter the height of the Christmas tree: ");
		Scanner input = new Scanner(System.in);
		h = input.nextInt();
		for (int i = 0; i < h; i++) {
			for (a = 0; a < h * 2; a++) {
				if (a < (h - i) || a > (h + i)) {
					System.out.print(" ");
				} else {
					System.out.print(star);
				}
			}
			System.out.println();
        
		}
	
	}
}

 

1 odpowiedź

–1 głos
odpowiedź 3 października 2018 przez mbabane Maniak (71,160 p.)
Zachowaj gdzieś liczbę gwiazdek w ostatniej warstwie (pierwszej przy pniu) wyznacz środek i tam wstaw znak, poprzedzając go odpowiednią liczbą spacji, tak aby # znalazł się pośrodku. Ewentualnie umieść go na tej samej szerokości (tyle samo spacji od brzegu) co pierwsza gwiazdka (czubek).
komentarz 4 października 2018 przez dzideos Obywatel (1,240 p.)
Hmm, mógłbyś mnie naprowadzić pokazując coś w kodzie, jak to ma wyglądać. Nie za bardzo wiem jak to napisać.
komentarz 4 października 2018 przez mbabane Maniak (71,160 p.)

Rozumiem ze ma to wyglądać np. tak:

    *
   ***
  *****
 *******
*********
    #

Wydaje mi się że najprostszym wyjściem będzie ten drugi sposób tj wstawić znak # w tej samej pozycji od brzegu co pierwszą gwiazdkę - czubek. Jednym ze sposobów jest zapisanie w zmiennej pomocniczej ile spacji jest od brzegu do czubka i potem na sam koniec (po wydrukowaniu wszystkich warstw gwiazdek), na podstawie tej wartości wydrukować znak # na tej samej zasadzie co pierwszy znak *. 

komentarz 4 października 2018 przez dzideos Obywatel (1,240 p.)
Dokładnie o to chodzi.
komentarz 5 października 2018 przez mbabane Maniak (71,160 p.)
To spróbuj na razie sam to zrobić bez pokazywania kodu, bo w sumie w kodzie nie ma za wiele do pokazywania i jak to zrobię to właściwie dam CI gotowe rozwiązanie, więc sam trochę pogłówkuj. Jeszcze raz trzeba wstawić znak # na tej samej pozycji co pierwszą gwiazdę (czubek). Czyli jeśli wiesz jak wstawić pierwszą gwiazdę to wiesz jak wstawić pień.
komentarz 6 października 2018 przez dzideos Obywatel (1,240 p.)
Rzeczywiście, użyłem pętli for i się udało. Dzięki kolego :)
komentarz 9 października 2018 przez mbabane Maniak (71,160 p.)
Kto daje te -1 bo to jest denerwujące kiedy odpowiedź jest poprawna... Jakiś troll chce się dowartościować czy jak? Uważasz, że jest to błędne czy coś jest nie tak -  powiedz czemu, a ktoś na tym skorzysta (np. ja)?

Podobne pytania

0 głosów
1 odpowiedź 2,461 wizyt
pytanie zadane 17 października 2016 w C i C++ przez Kubiaczek007 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 1,467 wizyt
0 głosów
1 odpowiedź 426 wizyt
pytanie zadane 1 września 2017 w JavaScript, jQuery, AJAX przez monika2912 Nowicjusz (120 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

66,984 zapytań

113,890 odpowiedzi

241,334 komentarzy

46,942 pasjonatów

Przeglądających: 242
Pasjonatów: 12 Gości: 230

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...