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 |
De multe ori se întâmplă să avem nevoie să repetăm un set de instrucțiuni de un număr de ori. Iată câteva exemple:
a^b
(a
la puterea b
): trebuie să îl înmulțim pe a
în mod repetat, de b
ori;n
numere.Limbajul C++ ne oferă o varietate de modalități de a repeta un set de instrucțiuni. În această lecție vom vorbi despre structura repetitivă do while
, dar dacă vrei să vezi toate structurile repetitive în C++, poți intra pe această pagină.
Spre deosebire de structura while
, do while
execută instrucțiunile dintre acolade cel puțin o dată, indiferent dacă condiția
este adevărată sau nu.
Se recomandă să cunoști structura de decizie (if
și switch
) și structura repetitivă while înainte de a parcurge această lecție.
Sintaxa structurii do while
este oarecum pe dos față de cea a while
ului:
do {
instrucțiune 1;
instrucțiune 2;
…
} while(condiție);
Structura aceasta are sens dacă stăm să ne gândim: mai întâi executăm instrucțiunile, după care verificăm dacă condiția
este adevărată sau nu, urmând să mai iterăm încă odată dacă este cazul.
Afișăm primele n
numere naturale, sau 0
, dacă n < 0
:
//Pentru n = 5, se va afișa:
//0 1 2 3 4
//Pentru n = -1, se va afișa:
//0
int i = 0, n;
cin >> n;
do {
cout << i << " ";
i++;
} while(i < n);
Dându-se un număr natural n
, să se împartă repetat la 5
, afișând de fiecare dată câtul dat, până când n
este 0
.
Exemple: Pentru n = 126
se va afișa 126 25 5 1
, iar pentru n = 0
se va afișa 0
.
Rezolvare: Vom citi n
, după care, folosind o structură repetitivă de tip do while
, îl vom împărți pe n
la 5
în mod repetat.
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
do {
cout << n << " ";
n /= 5;
} while(n != 0);
}
Completează următoarea secvență de cod:
Să se afișeze primele n
numere naturale nenule:
int n, i = 1;
cin >> n;
??? {
cout << i << " ";
i++;
} ???(i <= n);