Witam.
Jak napisać kod który przyjmie daną ze strumienia wejściowego i wyświetli taką ilość znaków?
(np. wejście: 2, wyjście **)
Nie znalazłem niczego podobnego na necie, więc pytam.
Pozdrawiam
Sposobów jest wiele, można zrobić to w kilku popularnych opcjach: jak najszybciej, jak najtaniej, jak najlepiej, wybierz opcję i tak zrób. A tak na serio to sprecyzuj o co chodzi to może pomogę.
Pobierasz dane od usera std::cin
do zmiennej typu int
.
Później używasz tej zmiennej jako warunek kończący pętlę,
wypisującej przy każdym obrocie znak gwiazdki.
Pętla for
Dzięki :). Czemu ja na coś tak prostego nie wpadłem :). A już tak z mojej czystej ciekawości: istnieje na to osobna komenda?
Podaj przykład znaków i skąd mają być.
Np. "***".
Ze strumienia wejściowego cin.
Tak. Zapisujesz jako łańcuch znaków std::string
, a metoda size()
zwróci ci ile masz znaków.
Możesz też pobierać dane do zmiennej typu char
metodą std::cin.get()
, aż do opróżnienia bufora strumienia,
licząc po drodze ile razy był pobrany znak.
Dzięki wielkie!
@mikinoqwert: zobacz do wątku Create string with specified number of characters - w drugiej odpowiedzi masz przykład tworzenia ciągu znaków na podstawie zadanego znaku i liczby jego wystąpień:
std::string s(5, 'a'); // s == "aaaaa"
Dzięki temu nie będziesz potrzebował pętli. W miejscu 5
wstawiasz liczbę pobraną z klawiatury, a w drugim jakiś znak, np. *
. A o tym jak pobrać długość takiego ciągu, napisał poprzednik, dwa posty wyżej.