Kurs C++: Pętle i Iteracje

Warunki w pętlach pozwalają na kontrolowanie ich działania i podejmowanie decyzji w trakcie iteracji. Dzięki temu możemy np. przerywać pętle, pomijać iteracje lub wykonywać określone operacje na podstawie wartości zmiennych.


1. Instrukcja if w pętlach

Wewnątrz pętli często używamy instrukcji if, aby sprawdzić warunki i wykonać odpowiednie działania.

🔹 Przykład – sprawdzanie liczb parzystych i nieparzystych w pętli for:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            cout << i << " jest parzyste" << endl;
        } else {
            cout << i << " jest nieparzyste" << endl;
        }
    }
    return 0;
}

Każda liczba od 1 do 10 jest sprawdzana i odpowiednio klasyfikowana.


2. Zmiana działania pętli za pomocą break

Instrukcja break przerywa działanie pętli, nawet jeśli warunek sterujący nadal jest spełniony.

🔹 Przykład – zatrzymanie pętli po podaniu liczby ujemnej:

#include <iostream>
using namespace std;

int main() {
    int liczba;

    while (true) {  // Pętla nieskończona
        cout << "Podaj liczbę dodatnią (liczba ujemna kończy): ";
        cin >> liczba;

        if (liczba < 0) {
            cout << "Podano liczbę ujemną. Kończę program!" << endl;
            break;  // Przerwanie pętli
        }

        cout << "Podana liczba: " << liczba << endl;
    }

    return 0;
}

Pętla działa w nieskończoność, ale kończy się po wpisaniu liczby ujemnej.


3. Pomijanie iteracji za pomocą continue

Instrukcja continue pomija aktualną iterację pętli i przechodzi do kolejnej, zamiast wykonywać dalszy kod wewnątrz pętli.

🔹 Przykład – pomijanie liczb podzielnych przez 3:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i % 3 == 0) {
            continue;  // Pomija liczby podzielne przez 3
        }
        cout << i << " ";
    }
    return 0;
}

Liczby 3, 6 i 9 są pominięte, reszta jest wypisana.


4. Zagnieżdżone pętle i warunki

Czasami warunki są używane w pętlach wewnętrznych, aby wpływać na bardziej złożone operacje.

🔹 Przykład – wyświetlanie tabliczki mnożenia, ale pomijanie wyników większych niż 25:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 5; i++) {
        for (int j = 1; j <= 5; j++) {
            if (i * j > 25) {
                continue;  // Pomija wyniki większe niż 25
            }
            cout << i << " x " << j << " = " << i * j << endl;
        }
    }
    return 0;
}

Pętla działa, ale unika wyświetlania iloczynów większych niż 25.


5. Warunki sterujące pętlą while

Pętle while często wykorzystują warunki do kontrolowania swojego działania.

🔹 Przykład – sprawdzanie poprawności wpisanej liczby:

#include <iostream>
using namespace std;

int main() {
    int liczba;
    
    cout << "Podaj liczbę większą niż 10: ";
    cin >> liczba;

    while (liczba <= 10) {
        cout << "Liczba za mała! Podaj ponownie: ";
        cin >> liczba;
    }

    cout << "Dziękuję! Poprawna liczba: " << liczba << endl;
    return 0;
}

Program wymusza podanie liczby większej niż 10.


6. Podsumowanie

Warunki sterują pętlami i pozwalają podejmować decyzje.
break – natychmiast przerywa działanie pętli.
continue – pomija bieżącą iterację i przechodzi do kolejnej.
Warunki wewnątrz pętli for, while i do...while pozwalają na kontrolowanie działania programu.