menu search
  • Rejestracja
brightness_auto
more_vert
jak napisać kopertę w c++ z gwiazdek zamkniętą tzn Zaklejoną wyświetlać ma na ekranie konsoli pętle zagnieżdżone
thumb_up_off_alt lubi thumb_down_off_alt nie lubi

1 odpowiedź

more_vert
#include <iostream>
#include <cstdlib>

int main()
{
    //Zmienna potrzebna do ustalenia iloœci spacji pomiędzy dwoma œrodkowymi gwiazdkami
    unsigned short k = 3;
    //Szerokoœć koperty
    unsigned short width;

    //Wczytanie szerokoœci koperty (wysokoœć jest 2 razy mniejsza)
    std::cout << "Podaj szerokosc koperty (10 - 50): ";
    std::cin >> width;

    //Jeżeli rozmiar jest mniejszy od 10 bšdŸ większy od 50 to program wypisuje błšd i zakańcza działanie
    if (width < 10 || width > 50) {
        std::cout << "Bledny rozmiar!" << std::endl;
    }
    //W przeciwnym wypadku rysuje zaklejonš kopertę
    else {
        //Pętla rysujšca kopertę. Działa dopóki zmianna 'i' jest mniejsza od wysokoœci koperty
        //(czyli połowy szerokoœci)
        for (unsigned short i = 0; i < width / 2; ++i) {
            //Jeżeli jest to górna częœć lub spód koperty rysuje same gwiazdki
            //i wykonuje kolejny przebieg pętli
            if (i == 0 || i == width / 2 - 1) {
                for (unsigned short j = 0; j < width; ++j)
                    std::cout << "*";

                std::cout << std::endl;
                //Wymuszenie kolejnego obiegu pętli
                continue;
            }

            //Tutaj program rysuje całe wnętrze koperty
            //Najpierw lewa œcianka
            std::cout << "*";

            //Tutaj program wypisuje odpowiedniš iloœć spacji pomiędzy œciankš, a kolejnš gwiazdkš,
            //jeżeli sobie to narysujesz na kartce to zobaczysz, że iloœć spacji jest większa o jeden
            //stšd j < i
            for (unsigned short j = 1; j < i; ++j)
                std::cout << " ";

            //Po wypisaniu spacji program wypisuje kolejnš gwiazdkę
            std::cout << "*";

            //To też możesz sobie sprawdzić rysujšc sobie jakšœ kopertę na kartce.
            //Dla i = 1 jest to width - 4 (k = 3) (i + k = 4)
            //Dla i = 2 jest to width - 6 (k = 4) (i + k = 6)
            //Dla i = 3 jest to width - 8 (k = 5) (i + k = 8) itd.
            //stšd też k, które zwiększa się o jeden na końcu pętli
            for (unsigned short j = 0; j < width - (i + k); ++j)
                std::cout << " ";

            //Po wypisaniu spacji program wypisuje kolejnš gwiazdkę
            std::cout << "*";

            //Tutaj robimy to samo co dwa fory wyżej (iloœć spacji jest taka sama)
            for (unsigned short j = 1; j < i; ++j)
                std::cout << " ";

            //Prawa œcianka koperty
            std::cout << "*" << std::endl;

            //Zwiększenie zmiennek 'k' o 1
            ++k;
        }
    }

    std::cout << std::endl;

    system("PAUSE");
    return 0;
}
thumb_up_off_alt lubi thumb_down_off_alt nie lubi

Podobne pytania

thumb_up_off_alt 1 lubi thumb_down_off_alt nie lubi
2 odpowiedzi
thumb_up_off_alt 10 lubi thumb_down_off_alt 1 nie lubi
1 odpowiedź
thumb_up_off_alt lubi thumb_down_off_alt nie lubi
1 odpowiedź
thumb_up_off_alt lubi thumb_down_off_alt nie lubi
1 odpowiedź
thumb_up_off_alt lubi thumb_down_off_alt nie lubi
odpowiedzi
Witamy na zalicz.net! Znajdziesz tu darmowe rozwiązanie każdej pracy domowej, skorzystaj z wyszukiwarki, jeśli nie znajdziesz interesującej Cię pracy zadaj szybko pytanie, nasi moderatorzy postarają się jeszcze tego samego dnia, odpowiedzieć na Twoje zadanie. Pamiętaj - nie ma głupich pytań są tylko głupie odpowiedzi!.

Zarejestruj się na stronie, odpowiadaj innym zadającym, zbieraj punkty, uczestnicz w rankingu, pamiętaj Tobie też ktoś kiedyś pomógł, teraz Ty pomagaj innym i zbieraj punkty!
Pomóż nam się promować, podziel się stroną ze znajomymi!


...