Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2009, 11:51   #1
metoflex
Пользователь
 
Регистрация: 21.06.2009
Сообщений: 37
Вопрос Подсчёт Количества цифр "2", во введённом, ошибка какая-то..

Программа по подсчёт во введённом числе количества чисел "2".
Если ввести число "2222", то результат выдаёт верный- "4" , но если скажем ввести число "22322", то ничего не происходит впринципе (Или зацикливается, возможно).

Вот текст программки:

program chislo;
var
k,s,m,d :integer;
begin
d:=10;
writeln ('Введите Число!');
readln (m);
Repeat
begin
s:=m mod d;
if s=2
then
begin
K:=K+1;
m:=m-s;
m:= m div d;
end
else
K:=K+0;
end;
Until m=0;
Writeln (k);
readln;
end.

Заранее Спасибо!
metoflex вне форума Ответить с цитированием
Старый 21.06.2009, 13:29   #2
Monte-Kristo
Пользователь
 
Регистрация: 03.03.2009
Сообщений: 27
По умолчанию

А не легче число в строку перевести?

Код:
var
 st: string;
 ch: integer;
 k: byte;
begin
 k:=0;
 readln(ch);
 str(ch,st);
 for i:=1 to length(st) do
    if  st[i] = '2' then k:=k+1;
 writeln(k);
 readln;
end.
Monte-Kristo вне форума Ответить с цитированием
Старый 21.06.2009, 13:44   #3
Monte-Kristo
Пользователь
 
Регистрация: 03.03.2009
Сообщений: 27
По умолчанию

А циклится наверно потому, что когда программа встречает цифру, отличную от двойки - она можно сказать ничего не делает...

То есть если s<>2 то у тебя все время будет на else переходить
Monte-Kristo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. 2 задачи (Программа "Верификация","КАК БРИГАДИРУ РАЗДЕЛИТЬ ЗАРОБОТАННЫЕ ДЕНЬГИ") Valik102 Помощь студентам 3 20.05.2009 20:42
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50
Под прикрытием "кризиса" наши доблестные "управители" хотят утопить нас в радиоактивных отходах mihali4 Свободное общение 1 17.01.2009 01:43
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51