30.03.2011, 18:44 | #1 (permalink) |
Новичок
Регистрация: 30.03.2011
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Как посчитать количество цифр 5 в числе?
Я написала программу, но она не работает: var a,x,y,z,m:integer; begin write ('Введите число: '); read(a); x:=a; z:=0; repeat y := x mod 10; if y=5 then z:=z+1; m:=y div 10 until m=0; write('Количество цифр 5: ', z) end. Какое число бы я не вводила, получается 0. |
30.03.2011, 18:44 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Уделите пожалуйста некоторое время на прочтение аналогичных тем Как посчитать все итерации в циклах? Паскаль. Сумма цифр числа |
30.03.2011, 19:33 | #2 (permalink) |
красавчик :D
Регистрация: 15.07.2010
Сообщений: 3,624
Записей в дневнике: 11
Сказал(а) спасибо: 71
Поблагодарили 13 раз(а) в 10 сообщениях
Репутация: 15870
|
не уверен, что правильно, но попробуйте изменить так :
var a,x,y,z,m,b:integer; begin write ('Введите число: '); read(a); x:=a; z:=0; repeat y := x mod 10; if y=5 then b:=z+1; m:=y div 10 until m=0; write('Количество цифр 5: ', b) end. мне показалось, что z ссылается на саму себя |
30.03.2011, 20:26 | #3 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
Код:
var a,x,y,z,m:integer; begin write ('Введите число: '); read(a); x:=a; z:=0; repeat x:= x div 10; if x=5 then z:=z+1; x:=x mod 10 until x=0; write('Количество цифр 5: ', z) end. |
30.03.2011, 20:44 | #5 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
перепутал div и mod ...
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
30.03.2011, 21:11 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну, коллеги - хвостом вас по голове - развели черт-те что на пустом месте.
Код:
var a:LongInt; z:Byte; begin write ('Введите число: '); readln(a); z:=0; repeat if (a mod 10)=5 then z:=z+1; a:=a div 10 until a=0; write('Количество цифр 5: ', z); readln; end. |
31.03.2011, 17:23 | #9 (permalink) |
Новичок
Регистрация: 30.03.2011
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо большое, всё работает!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|