|
Прыклад 6.18. Дадзены натуральны лік n. Сфарміраваць новы лік, які складаецца з няцотных лічбаў ліку n.
Этапы выканання задання
I. Зыходныя даныя: n (лік).
II. Вынік: s (новы лік)
III. Алгарытм рашэння задачы.
1. Увод зыходных даных — лік n. 2. Вызначэнне пачатковага значэння новага ліку: s = 0. 3. У пераменнай r будзем захоўваць значэнне разраднай адзінкі для бягучай цотнай лічбы. Пачатковае значэнне r = 1. 4. У цыкле, пакуль у ліку ёсць лічбы:
4.1. Знайсці астачу от дзялення бягучага ліку на 10 (z — бягучая лічба ліку). 4.2. Праверыць, ці з’яўляецца атрыманая лічба няцотнай. 4.3. Калі лічба няцотная, то памножыць яе на значэнне разраднай адзінкі і прыбавіць да значэння s, павялічыць значэнне разраднай адзінкі ў 10 разоў. 4.4. Паменшыць бягучы лік у 10 разоў.
5. Вывад значэння пераменнай s. Каліs = 0, то ў ліку няма няцотных лічбаў.
IV. Апісанне пераменных: n, s, r, z – int. |
Прыклад 6.18.
V. Праграма:
|
#include <iostream>
using namespace std
int main()
{
int n;
cout << "n = ";
cin >> n;
int s = 0, r = 1;
while (n > 0){
int z = n % 10;
if (z % 2) {
s += z * r;
r *= 10;
}
n /= 10;
}
if (s)
cout << "s = " << s << endl;
else
cout << "net nechetnyh" << endl;
return 0;
}
|
VI. Тэсціраванне.




|