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

Potrzebne wskazówki

Object Storage Arubacloud
–1 głos
179 wizyt
pytanie zadane 11 listopada 2017 w C i C++ przez krystian1997 Obywatel (1,020 p.)
Witam, od rozpoczęcia studiów (2.miesiąc) zajmuję się programowaniem. Potrzebuje kilka wskazówek, przykładów, zadań dotyczących podwójnych pętli for, while praz do...while w języku C++. Myślę że na konkretnym przykładzie dowiem się gdzie mają się znajdować odpowiednie instrukcje, inkrementacja itp.

Mój przykład, z którym nie mogę się uporać to wypisanie tabliczki mnożenia do 100 w podwójnych pętlach, o których mówiłem. (Mimo że moim warunkiem w pętli jest n<10, program pokazuje na ekranie niekończące się liczby)
komentarz 11 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
A i dlaczego mam pomyśleć nad for, bo z while mam problemy? Chyba coś pomieszałeś bo jak mówiłem znam for a nie znam while i do...while
komentarz 11 listopada 2017 przez DragonCoder Nałogowiec (36,500 p.)

1. https://forum.pasja-informatyki.pl/faq#faq1

2. Jest roznica w wykonaniu petli, skoro w zadniu jest napisane, zeby wypisac tabliczke mnozenia do 10, to nie wypisujesz jej od 1 do 8, prawda?

3. 

#include <iostream>
using namespace std;
int main()
{    int x=1;
    int y=1;
        while(x<11){
        while(y<11){
        cout <<x*y<<" ";
            if((x*y)<10){
            cout<<" ";
        }
            if(y==10){
                cout<<endl;
            }
        y++;
        }
        y=1;
        x++;
    }
}

ten kod dziala, jezeli miales na mysli taki efekt. Wiec tu jedynie czego sie przyczepie to czytelnosc kodu, nawet jak nie ma linii, wyglada zle.

6. Czemu moj fragment kodu jest dziwnie napisany?

7. Tylko, ze nie zawsze mozna stosowac petle na przemian, musisz sie nauczyc tego odrozniac, co gdzie i jak, kiedy uzyc for a kiedy while i do while. Co do tego czy znasz, to jednak nie mowie, ze nie. Ale po prostu z while wygladalo gorzej, a z for nie wstawiles kodu, ale nie wazne. Program dziala.Zapomniales o return 0 w nowym kodzie

8.

#include <iostream>
int main()
{
int x=1;
int y=1;

while(x<11){
    while(y<11){
            std::cout <<x*y<<" ";

        if((x*y)<10){std::cout<<" ";}
            if(y==10){std::cout<<"\n";}
    y++;
        }
y=1;
x++;
    }
    return 0;
}

Troche bardziej czytleny, ale nie perfekcyjny.

 

komentarz 11 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
2.Zmieniłem na 9 przy pierwszym komentarzu, wczesniej miałem 10, to nie istotne bo wiem o co chodzi.

3. A jaki można mieć inny efekt? Tabliczka mnożenia to tabliczka mnożenia. Jeśli sprawdzałeś ten kod to tak, taki miał być efekt i tak on ma wyglądac.

6. bo jak bym to przeczytał jako: i*n=i*n    czyli to samo tylko napisane krótszą albo dłuższą wersją, po drugie nie pisze się "std:: " na początku tylko po bibliotekach: using namespace std; bez pisania tego przed każdym cout i cin bo to psuje czytelność kodu i mało osób tak robi. Po trzecie nie mam pojęcia skąd się wzięło n, do tego założyliśmy na początku n i m a nie jakieś i.\

Dla mnie to jest nie wyraźne i nieczytelne a może i nawet niezrozumiałe, moge sie mylić bo to tylko moja opinia a ja chce sie tu czegos dowiedziec i czegos nauczyc a nie wystawiac opinie.

7. Wiem że nie można stosować ich na przemian, znam ich schematy ale nie wiem jeszcze kiedy je stosowac.

8.Dziękuję za poprawienie. Staram się używać podobnej tabulacji, ten kod wygląda dobrze, tam po prostu zwracałem uwage na treść a nie na szczegóły.

=====================================================================

1.Posiedze teraz na tym ale chciałbym jeszcze wiedzieć dlaczego inkrementacje stosuje sie akurat w tym miejscu i po co zapis y=1 skoro już go wczesniej oznaczylismy.

2.Po drugie został jeszcze do..while ale żeby przyswoić to sobie chciałbym najpierw do końca poznac strukture while. Wyjasnienie tych rzeczy będzie mi mile widziane
komentarz 11 listopada 2017 przez DragonCoder Nałogowiec (36,500 p.)
1. \n to przejscie do nowej lini, zamiast std::endl;

2. Sprawdz kpdy na git hubie, ja widzialem czesto std:: i tak sie zaleca, jak kto woli, po cos stworzono przestrzen nazw i nie bede pisal 1000 o co chodzi.

3. Jasne, zeoznaczyles y=1, ale usun ta linijke i sprobuj wtedy zobaczyc wyniki. Wstawiasz y=1 na komcu, zeby petla doszla do 10 od nowa, inaczej pokaze sie tylko 1 linijka. Czyli to y=1 jest odpowiedzialne za kolejne linie tabliczki.

5. While = powtarzaj dopoki np. X < Y, czyli bedzie powtarzac sie tak dlugo, dopoki nie zostanie spelnione powyzsze "rownanie"
komentarz 11 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
1. \n i \t znam więc nie musisz tłumaczyc.

2.Ja po prostu na początku pisze to using namespace std i niech tak zostanie.Przynajmniej narazie.

3. Sprawdziłem i rozumiem skąd się to wzięło. Kolejna sprawa wyjaśniona.

5.To akurat wszystko wiem, chodziło mi o to,że tak jak z tym y=1, nie wiedziałem dlaczego to tam jest a teraz wiem.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 146 wizyt
pytanie zadane 12 listopada 2017 w C i C++ przez krystian1997 Obywatel (1,020 p.)
0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 1 listopada 2017 w C i C++ przez PanJaqb Początkujący (360 p.)
0 głosów
0 odpowiedzi 116 wizyt

92,565 zapytań

141,416 odpowiedzi

319,598 komentarzy

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

...