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

Wielkie H SPOJ

Object Storage Arubacloud
0 głosów
206 wizyt
pytanie zadane 21 października 2017 w SPOJ przez MixereQ Nowicjusz (190 p.)
edycja 21 października 2017 przez Eryk Andrzejewski

Witam

Mam do napisania taki program w C++

Wykorzystując znaki * (gwiazdka) wyświetl wzór w kształcie litery H.

Input

Dana jest jedna liczba naturalna 0< x <50.

Output

Wzór w kształcie litery H składający się z 2x+2 wierszy i x+2 kolumn tak, jak w przykładzie poniżej. Tło wyświetl wykorzystując znaki . (kropka).

Example

Input:
2

Output:
*..*
*..*
****
****
*..*
*..*

Nakierowałby ktoś jak mam zacząć? Z góry dziękuje

Link do zadania: http://www.spoj.com/PDSTPROG/problems/PP115B2/

komentarz 21 października 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Pozwoliłem sobie dodać link do zadania, żeby inni nie musieli szukać wink

2 odpowiedzi

0 głosów
odpowiedź 21 października 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
wybrane 21 października 2017 przez MixereQ
 
Najlepsza
Ale w czym Cię tu nakierowywać?

Przykładowe rozwiązanie może wyglądać tak (oczywiście zdaję sobie sprawę, że nie jest to zbyt ładne, ale chyba najprostsze):

Zrób trzy pętle. Pierwsza i ostatnia to będzie taka sama pętla, więc możesz wrzucić ją do osobnej funkcji.

Także ta pierwsza i ostatnia pętla mają wypisać X wierszy w postaci takiej: gwiazdka, x  kropek, gwiazdka

Druga pętla wypisuje 2 wiersze w postaci samych gwiazdek, gdzie jest X + 2 gwiazdek per wiersz.
komentarz 21 października 2017 przez MixereQ Nowicjusz (190 p.)
A jak zrobić to "x kropek" albo "x+2 gwiazdek" bo nie wiem.
komentarz 21 października 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Pętla for, która wykonuje się określoną liczbę razy i wypisująca określony znak w każdym przebiegu?
–2 głosów
odpowiedź 21 października 2017 przez mokrowski Mędrzec (155,460 p.)

Przeanalizuj a sam wpadniesz na rozwiązanie :-)

#include <iostream>
#include <string>

void wyswietl_kwadrat(size_t szerokosc) {
    const auto stala_szerokosc = szerokosc;
    while(szerokosc-->0) {
        std::cout << std::string(stala_szerokosc, '*') << '\n';
    }
}

void wyswietl_trojkat(size_t szerokosc) {
    while(szerokosc-->0) {
        std::cout << std::string(szerokosc, '*') << '\n';
    }
}

int main() {
    wyswietl_kwadrat(10);
    std::cout << '\n';
    wyswietl_trojkat(10);
}

 

komentarz 22 października 2017 przez mokrowski Mędrzec (155,460 p.)
Dla dającego minus. Przykład jest skomplikowany?

Podobne pytania

0 głosów
0 odpowiedzi 319 wizyt
pytanie zadane 30 czerwca 2021 w SPOJ przez KayTeeTurien Nowicjusz (220 p.)
0 głosów
2 odpowiedzi 757 wizyt
pytanie zadane 4 września 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)
0 głosów
2 odpowiedzi 534 wizyt
pytanie zadane 6 kwietnia 2017 w SPOJ przez Rosik Nowicjusz (190 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...