Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet40/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   36   37   38   39   40   41   42   43   ...   193
Bog'liq
Book-qtC


Глава 3. Операторы управления
Рис. 3.30: Алгоритм определения количества цифр в числе.
Задача 3.17.
Дано натуральное число N. Определить, содержит ли это число
нули и в каких разрядах они расположены (например, число 11011110111 содер-
жит ноль в третьем и восьмом разрядах, а число 120405 — в первом и третьем).
Входные данные
: N — целое число.
Выходные данные
: pos — позиция цифры в числе.
Промежуточные данные
: i — параметр цикла, M — переменная для времен-
ного хранения значения N.
В связи с тем, что разряды в числе выделяются начиная с последнего, для
определения номера разряда в числе, необходимо знать количество цифр в чис-
ле
7
. Таким образом, на первом этапе решения задачи необходимо определить kol
— количество цифр в числе. Затем нужно выделять из числа цифры, если оче-
редная цифра равна нулю, вывести на экран номер разряда, который занимает
эта цифра. Процесс определения текущей цифры числа N = 120405 представлен
в таблице 3.4.
7
Алгоритм нахождения количества цифр в числе был рассмотрен в предыдущей задаче.
Программирование на языке С++ в среде Qt Creator


3.5. Решение задач с использованием циклов
79
Таблица 3.4: Определение текущей цифры числа
i
Число М
Цифра
Номер позиции
1
120405
120405 % 10 = 5
0
2
12040/10 = 1204
12040 % 10 = 0
1
3
1204/10 = 120
1204 % 10 = 4
2
4
120/10 = 12
120 % 10 = 0
3
5
12/10 = 1
12 % 10 = 2
4
6
1/10 = 0
1 % 10 = 1
5
Программный код к задаче 3.17.
#include 
using namespace s t d ;
i n t main ( )
{
unsigned long i n t N,M; i n t k o l , i ;
cout<<" N = " ; c i n >>N;
f o r ( k o l =1 ,M=N;M/10 >0; k o l ++,M/=10) ;
f o r (M=N, i =0; i i f (M%10==0) cout<<"Позиция = "<return 0 ;
}
Задача 3.18.
Дано натуральное число N. Получить новое число, записав цифры
числа N в обратном порядке. Например, 17852 — 25871.
Входные данные
: N — целое число.
Выходные данные
: S — целое число, полученное из цифр числа N, записанных
в обратном порядке.
Промежуточные данные
: i — параметр цикла, M — переменная для вре-
менного хранения значения N, kol — количество разрядов в заданном числе,
R = 10
kol
— старший разряд заданного числа.
Рассмотрим пример. Пусть N = 17852, тогда S = 2 · 10
4
+ 5 · 10
3
+ 8 · 10
2
+ 7 ·
10
1
+ 1 · 10
0
= 25871.
Значит, для решения поставленной задачи, нужно знать количество разрядов
в заданном числе kol и его старший разряд R = 10
kol
. Новое число S формируют
как сумму произведений последней цифры заданного числа на старший разряд
S+ = M %10 ∗ R. Цикл выполняют kol раз, при каждой итерации уменьшая само
число и старший разряд в десять раз.
#include 
using namespace s t d ;
i n t main ( )
{ unsigned long i n t N,M, R, S ; i n t kol , i ;
cout<<" N = " ; c i n >>N;
f o r (R=1 , k o l =1 ,M=N;M/10 >0; k o l ++,R∗=10 ,M/=10) ;
f o r ( S=0 ,M=N, i =1; i <=k o l ; S+=M%10∗R,M/=10 ,R/=10 , i ++) ;
cout<<" S = "<return 0 ;
}
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


80
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish