Технический форум
Вернуться   Технический форум > Программы и программирование, операционные системы > Форум программистов > Delphi, Kylix and Pascal
Новые сообщения

Ответ
 
Опции темы Опции просмотра
Старый 30.03.2011, 17:44   #1 (permalink)
Новичок
 
Регистрация: 30.03.2011
Сообщений: 6
Репутация: 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.
@lis@ вне форума   Ответить с цитированием
Старый 30.03.2011, 18:33   #2 (permalink)
красавчик :D
 
Аватар для Серёга
 
Регистрация: 15.07.2010
Адрес: Челябинск
Сообщений: 2,565
Записей в дневнике: 1
Репутация: 3876
Отправить сообщение для Серёга с помощью Skype™
По умолчанию

Цитата:
Сообщение от @lis@ Посмотреть сообщение
z:=z+1;
не уверен, что правильно, но попробуйте изменить так :

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, 19:26   #3 (permalink)
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Адрес: Украина, Днепропетровск skype: kreol_1992
Сообщений: 648
Репутация: 893
Отправить сообщение для kreol с помощью ICQ Отправить сообщение для kreol с помощью Skype™
По умолчанию

Код:
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.
вроде так. надо проверить...
kreol вне форума   Ответить с цитированием
Старый 30.03.2011, 19:37   #4 (permalink)
Новичок
 
Регистрация: 30.03.2011
Сообщений: 6
Репутация: 10
По умолчанию

Попробовала оба варианта, всё также получается в ответе 0
@lis@ вне форума   Ответить с цитированием
Старый 30.03.2011, 19:44   #5 (permalink)
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Адрес: Украина, Днепропетровск skype: kreol_1992
Сообщений: 648
Репутация: 893
Отправить сообщение для kreol с помощью ICQ Отправить сообщение для kreol с помощью Skype™
По умолчанию

перепутал div и mod ...
kreol вне форума   Ответить с цитированием
Ads
Старый 30.03.2011, 20:11   #6 (permalink)
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 20,308
Репутация: 20438
По умолчанию

Ну, коллеги - хвостом вас по голове - развели черт-те что на пустом месте.
Код:
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.
И всего делов-то!
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 30.03.2011, 21:37   #7 (permalink)
Новичок
 
Регистрация: 30.03.2011
Сообщений: 6
Репутация: 10
По умолчанию

А нельзя как-нибудь заменить LongInt и Byte? (нам можно только integer использовать)
@lis@ вне форума   Ответить с цитированием
Старый 30.03.2011, 21:43   #8 (permalink)
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 20,308
Репутация: 20438
По умолчанию

Цитата:
Сообщение от @lis@ Посмотреть сообщение
А нельзя как-нибудь заменить LongInt и Byte? (нам можно только integer использовать)
Ну так на Integer обе переменных и замените! Просто диапазон получается уж очень куцый - всего до 32000. Хотелось числа подлиннее вводить. Но нельзя - значит нельзя!
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 31.03.2011, 16:23   #9 (permalink)
Новичок
 
Регистрация: 30.03.2011
Сообщений: 6
Репутация: 10
По умолчанию

Спасибо большое, всё работает!
@lis@ вне форума   Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как посчитать все итерации в циклах? Anton_uz C/C++/С# 0 16.10.2011 03:48
Паскаль. Сумма цифр числа tsa1993 Delphi, Kylix and Pascal 1 15.10.2011 19:52
Помогите посчитать резистор для светодиода remfarm Электроника для начинающих 2 05.10.2011 02:19
Посчитать количество букв k в последнем слове строки. Katyusha123 Помощь студентам 7 19.06.2011 16:31
Сложить (умножить) ряд цифр в Pascal Dukesoteg Delphi, Kylix and Pascal 1 22.03.2011 20:34
Сортировки массива по убыванию суммы цифр элементов Shinju999 C/C++/С# 0 24.01.2011 19:44
Посчитать количество различных цифр в записи. Паскаль, программа почти написана. IvaIlga Помощь студентам 3 13.12.2010 14:26
Посчитать кол-во сложенных символов Reega Delphi, Kylix and Pascal 1 07.06.2010 19:00
Задача перевода цифр из десятичной в двоичную Jonj Delphi, Kylix and Pascal 1 29.06.2009 14:33
Найти количество цифр в числе в паскале и еще 3 задачи. samoel Delphi, Kylix and Pascal 17 17.02.2009 11:17
Как посчитать на сколько ом мне нужен переменный резистор? Макс-32 Любые вопросы от новичков 9 01.08.2008 07:36
Распределение цифр по возрастанию Guest Софт и программы 2 04.02.2007 23:49


Часовой пояс GMT +4, время: 06:10.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.