Instrucțiunea continue (structuri repetitive)

Această lecție este despre instrucțiunea continue: definiție cu imagini, exemple și exerciții propuse.

În cadrul unei structuri repetitive de tip for, while sau do while există momente când vrem să ne oprim din executat restul instrucțiunilor pentru iterația curentă, însă vrem să continuăm cu următoarea iterație (spre deosebire de instrucțiunea break, care iese din structura repetitivă).

Instrucțiunea continue trece peste instrucțiunile rămase din iterația curentă și continuă cu următoarea iterație. Putem observa cum funcționează instrucțiunea continue în diagrama următoare:

Imagine descriptivă (01)

Sintaxa instrucțiunii continue

Sintaxa acestei instrucțiuni este următoarea:

continue;

Exemplu

Să zicem că vrem să afișăm numerele pare mai mici sau egale decât n. Procedăm astfel:

//Pentru n = 7, se va afișa:
//2 4 6
int n;
cin >> n;
for(int i = 1; i <= n; ++i) {
    if(i % 2 == 1) { //Numărul este impar, deci sărim peste el
        continue;
    }
    //Linia următoare se rulează doar pentru numerele pare:
    cout << i << " ";
}

Problemă rezolvată

Dându-se două numere naturale n și x, să se afișeze primele n numere naturale nenule nedivizibile cu x.

Exemplu: Pentru n = 10, x = 3 se afișează 1 2 4 5 7 8 10 (se sare peste 3, 6, 9, pentru că sunt numere divizibile cu x = 3).

Rezolvare: Vom citi n, după care folosind o structură repetitivă de tip for, parcurge primele n numere naturale nenule. Dacă întâlnim un număr divizibil cu x, sărim peste el.

#include <iostream>

using namespace std;

int main()
{
    int n, x;
    cin >> n >> x;
    for(int i = 1; i <= n; ++i) {
        if(i % x == 0) {
            continue;
        }
        cout << i << " ";
    }
}

Exercițiu propus

Completează următoarea secvență de cod:

Să se afișeze descrescător numerele mai mici decât n divizibile cu 3:

int n;
cin >> n;
for(int i = n; i >= 1; i--) {
    if(??? % 3 != 0) {
        ???;
    }
    cout << i << " ";
}

Bibliografie și alte resurse

DS

Autorul acestei lecții

Dominic Satnoianu

Această lecție a fost redactată de către Dominic Satnoianu.

© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.

Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.

Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te