Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.04.2009, 11:04
Юрис 2009 Юрис 2009 вне форума
Прохожий
 
Регистрация: 15.03.2009
Сообщения: 16
Репутация: -3
Восклицание Delphi 7. Целочисленная арифметика

Дано натуральное число N (N>9). Определить количество нулей, идущих подряд в младших разрядах данного числа. Пример: N = 1020000. Количество нулей равно четырем.
Ответить с цитированием
  #2  
Старый 23.04.2009, 13:12
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А младшие разряды - это скока чисел справа?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 28.04.2009, 09:57
maxim1993 maxim1993 вне форума
Прохожий
 
Регистрация: 28.04.2009
Сообщения: 1
Репутация: 10
По умолчанию

Цитата:
Сообщение от Юрис 2009
Дано натуральное число N (N>9). Определить количество нулей, идущих подряд в младших разрядах данного числа. Пример: N = 1020000. Количество нулей равно четырем.

Зделал для Delphi если нужно для паскаля надеюсь сам зделаеш
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
C:=0;
Q:=0;  // Обнуляем значения для многоразового ввода
edit1.Clear;
A:=length(edit1.Text); // Вычесляем сколько символов содержит edit
for B := a downto 0 do begin  //считаем в обратном порядке
if (edit1.Text[b]='0') and (C<>1)  then begin  Q:=q+1;
end
else C:=1; // чтобы не выполнялось условия и счетчик не считал дальше
end;
label1.Caption:=inttostr(q); // вывожу значение счетчика в label
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 28.04.2009 в 10:29.
Ответить с цитированием
  #4  
Старый 28.04.2009, 11:32
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Можно обойтись без строк.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Number: Cardinal;
  ZeroCount: Byte;
begin
  Number := StrToInt(Edit1.Text);
  ZeroCount := 0;
  while (Number mod 10 = 0) do
  begin
    Number := Number div 10;
    Inc(ZeroCount);
  end;

  ShowMessage(IntToStr(ZeroCount) + ' terminal zero(s) present!'); 
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter