Թվերի քանակը մինչև զրոն
C++
ում հնարավոր է գրել անվերջ ցիկլ while (true) {...
կամ while (1) {...
-ի միջոցով։ Այսինքն while
-ի պայմանը միշտ կատարվում է - միշտ true
է (միշտ ճիշտ)։ true
-ն ունի իր հակառակը նույնպես - false
եթե ծրագրում գրվեր while (false) {...
կամ if (false) {...
ապա ձևավոր փակագծերի մեջ գրվածը երբեք չէր կատարվի։
Նույնպես հնարավոր էր գրել while (0)
կամ if (0)
և դրանց ձևավոր փակագծերում գրվածը չէր կատարվի։
Բայց եթե ունենք անվերջ ցիկլ, դա ինչ-որ պահի պետք է դադարեցնել։ C++
-ում ցիկլերից դուրս գալու / ցիկլերը կանգնեցնելու համար կարելի է օգտագործել break;
հրամանը։ Օրինակ եթե ունենք անվերջ ցիկլ և ուզում ենք ցիկլից դուրս գալ հենց a
փոփոխականը դառնա b
-ից մեծ, ապա կարող ենք անել դա այսպես՝
#include <iostream>
using namespace std;
int main() {
int a = 1;
int b = 100;
while (true) {
a += 1; // Կարելի էր նաև գրել a++; կամ ++a; դրա մասին մի փոքր ուշ
cout << "a: " << a << " b: " << b << endl;
if (a > b)
break;
}
return 0;
}
Իհարկե, կարելի էր սա անել while (a <= b)
գրելով, բայց որոշ դեպքերում break
օգտագործելը շատ հարմար է։ Օրինակ հաջորդ վարժությունների մեջ։
Վարժություն՝
Մուտքում տրված են ամբողջ թվերի հերթականություն։ Ամեն թիվ առանձին տողի վրա։ Հաջորդականությունը համարում ենք ավարտված, երբ հանդիպում ենք 0-ին։
Դրան կարող են հաջորդել ուրիշ թվեր բայց ծրագիրը պետք է դրանց անտեսի։
Ելքում պետք է տպել հաջորդականության երկարությունը զրոն չհաշված։
Մուտք | Ելք |
---|---|
5 6 1 -1 -5 3 0 9 11 4 5 | 6 |
Բացատրություն՝
5 6 1 -1 -5 3
կազմում են 6 թվանոց հաջորդականություն
Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB