Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.
Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.
Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.
Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.
Meniu shortcuturi | ? |
Căutare probleme sau utilizatori | / |
Navigare printre rezultatele căutării | ↑, ↓ |
Meniu de contact și feedback | CTRL + Shift + F |
Ieșire din meniuri | Esc |
Setări editor | CTRL + Shift + S |
Schimbare stil editor | CTRL + Shift + E |
Șabloane de cod | CTRL + Shift + 1/2/3 |
Golire editor | CTRL + Shift + 4 |
Există momente când vrem să ieșim dintr-o structură repetitivă, chiar și dacă condiția
este încă adevărată. Pentru asta, ne folosim de instrucțiunea break
.
Instrucțiunea break
întrerupe execuția unei structuri repetitive (while
, do while
, for
), trecând la instrucțiunile de după indiferent dacă condiția
acestor structuri mai sunt sau nu adevărate.
break
Sintaxa instrucțiunii break
este următoarea:
break;
Afișarea primelor n
numere naturale, însă dacă atingem valoarea 5
, ne oprim.
//Pentru n = 8, se va afișa:
//1 2 3 4 5 (ne oprim la 5)
//Pentru n = 3, se va afișa:
//1 2 3
for(int i = 1; i <= n; i++) {
cout << i << " ";
if(i == 5) {
break;
}
}
Multe probleme cer citirea și prelucrarea unor numere până când se întâlnește valoarea 0
. De exemplu, dacă vrem să calculăm suma unor numere până la întâlnirea lui 0
, putem proceda astfel:
//Pentru numerele 4 9 10 0, se va afișa:
//23
int sum = 0;
while(true) {
int nr;
cin >> nr;
if(nr == 0) {
break;
}
sum += nr;
}
cout << sum;
condiție
Să se afișeze primele n
numere naturale nenule, însă fără a folosi o condiție în structura repetitivă aleasă:
for(int i = 1; true; i++)
while(true)
Testează-ți rezolvarea pe această pagină.
Exemplu: Pentru n = 3
se vor afișa numerele 1 2 3
.
Rezolvare: Vom citi n
, după care folosind o structură repetitivă de tip for
, vom afișa numerele. În loc de condiție
, vom folosi un if
cu un break
.
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i = 1; true; i++) {
cout << i << " ";
if(i == n) {
break;
}
}
}
Completează următoarea secvență de cod:
Să se afișeze primele n
numere naturale nenule, oprindu-ne dacă atingem numărul 7
:
int n;
cin >> n;
for(int i = 1; i <= n; i++) {
if(??? == 7) {
???;
}
cout << i << " ";
}