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

Petla while od 100 do 1

Object Storage Arubacloud
0 głosów
1,245 wizyt
pytanie zadane 14 sierpnia 2018 w C# przez MS Początkujący (430 p.)

Mam napisac kod, wyswietlajacy w porzadku malejacym liczby od 100 do 1 i podzielne przez 3 i niepodzielne przez 2.

Napisalem cos takiego, ale konsola nic nie pokazuje.Gdzie zrobilem blad?


            int i = 100;
            while ((i <= 100) && (i >= 1))
            {
                if ((i % 2 == 1) && (i % 3 == 0))
                {
                    Console.WriteLine("{0}", i);
                    i--;
                }
                else
                {
                    
                }
            }
        }

 

1 odpowiedź

0 głosów
odpowiedź 14 sierpnia 2018 przez draghan VIP (106,230 p.)
Musisz dekrementować licznik niezależnie od warunków podzielności. :)

Przy okazji - dlaczego while? Do takich odliczanek fajny jest for.
komentarz 14 sierpnia 2018 przez MS Początkujący (430 p.)
Nie z wlasnego wyboru. Musze zrobic przy uzyciu For, While i Do...While. Utknalem na tym.

Jak powinien wygladac kod po tych zmianach, bo dekrementowalem i jakies glupoty wychodza.
komentarz 14 sierpnia 2018 przez Atarii Użytkownik (770 p.)

w else też musisz dodać i--;

 

a najlepiej to usunąć else i dodać i--; poza IFem

 

komentarz 14 sierpnia 2018 przez draghan VIP (106,230 p.)
Nie podam Ci gotowca. :) To dość prosta ingerencja. W tej chwili masz dekrementację we fragmencie, który wykonuje się warunkowo. Musisz wynieść ją poza warunkowy fragment.
komentarz 14 sierpnia 2018 przez draghan VIP (106,230 p.)
Atarii - po co wykonywać tę samą operację w dwóch gałęziach, jeśli można to zrobić przed lub po rozgałęzieniu, raz? :)
komentarz 14 sierpnia 2018 przez MS Początkujący (430 p.)

@draghan,

int i = 100;
            while ((i <= 100) && (i >= 1))
            {
                i--;
                if ((i % 2 == 1) && (i % 3 == 0))
                {
                    Console.WriteLine("{0}", i);
                }
            }

Tak zostawilem. Mam jeszcze pytanie. Szukajac informacji o tej petli wiele osob uwaza ja za cos czego sie nie uzywa, bo jest wiele latwiejszych sposobow. Czy to prawda i mozna przylozyc mniejsza wage do While niz do For, czy warto pocwiczyc?

komentarz 14 sierpnia 2018 przez draghan VIP (106,230 p.)
Teraz jest ok. :) Można jeszcze zdjąć ograniczenie z góry, bo i zawsze będzie <= 100, ale to szczegół.

Nie wiem, skąd pomysł, że while jest czymś, czego się nie używa - to jedna z podstawowych zabawek w piaskownicy programisty.

(chociaż może ktoś tak powiedział, bo C# jest językiem, który dąży do tego, żeby był używany jak język funkcyjny, ale nie przejmowałbym się tym za mocno)
komentarz 15 sierpnia 2018 przez Atarii Użytkownik (770 p.)
Mój nauczyciel od informatyki uważał, że jeżeli ktoś perfekcyjnie nie opanował while, to nie powinien zabierać się za for... nie wiem ile w tym prawdy, ale fajnie by było dobrze znać while którym można zrobić wszystko, niż tylko samo for którym wszystkiego zrobić nie można

Podobne pytania

0 głosów
1 odpowiedź 434 wizyt
pytanie zadane 9 listopada 2016 w C# przez Alex.Ironside Stary wyjadacz (14,900 p.)
0 głosów
1 odpowiedź 353 wizyt
pytanie zadane 14 marca 2020 w C i C++ przez Deny Nowicjusz (140 p.)
0 głosów
1 odpowiedź 426 wizyt
pytanie zadane 3 sierpnia 2019 w C i C++ przez Garper Początkujący (360 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 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!

...