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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2009, 22:37   #31
TAVulator
Программист
Форумчанин
 
Аватар для TAVulator
 
Регистрация: 23.07.2009
Сообщений: 101
По умолчанию

Doholyan
Цитата:
То как можно найти в числе нужное количество цифр?!
Например вот так:
Код:
const
 i: longint = 123456;
Var
 n: byte;
Begin
 n:=0;
 while i<>0 do
  Begin
   inc(n);
   i:=i div 10;
  End;
 Writeln('Количество цифр в числе: ',n);
End.
Если вы верите, что можете или не можете
сделать что-то, вы правы в обоих случаях.

______________________________(С) Г.Форд
TAVulator вне форума Ответить с цитированием
Старый 03.08.2009, 22:42   #32
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

...а если число будет начинаться с нуля " 0 "...?
а, как тогда обратиться к примеру к цифре....третей или четвертой по счету?
Doholyan вне форума Ответить с цитированием
Старый 03.08.2009, 22:54   #33
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

в этом примере...как будет заканчиваться цикл....вдруг "0" вообще не будет?
Doholyan вне форума Ответить с цитированием
Старый 03.08.2009, 22:57   #34
TAVulator
Программист
Форумчанин
 
Аватар для TAVulator
 
Регистрация: 23.07.2009
Сообщений: 101
По умолчанию

Цитата:
...а если число будет начинаться с нуля " 0 "...?
хмм... на сколько помню нули, стоящие слева от числа, в математике отбрасываются... (0123 = 123)
Цитата:
а, как тогда обратиться к примеру к цифре....третей или четвертой по счету?
изначально стоял вопрос о подсчете количества цифр в числе, вот я и привел математическое решение этой задачи.
Если нужно решение и этой задачи без использования строк, то могу и тут подсказать:
Код:
const
 i: longint = 123456;
 m: byte = 5; {номер цифры, которую нужно извлечь}
Var
 n: byte;
 k: longint;
Begin
 k:=i;
 n:=0;
 while i<>0 do
  Begin
   inc(n);
   i:=i div 10;
  End;
 Writeln('Количество цифр в числе: ',n);
 n:=(k div trunc(exp(ln(10)*(n-m)))) mod 10;
 Writeln('Цифра под номером ',m,': ',n);
End.
Если вы верите, что можете или не можете
сделать что-то, вы правы в обоих случаях.

______________________________(С) Г.Форд

Последний раз редактировалось TAVulator; 03.08.2009 в 23:02.
TAVulator вне форума Ответить с цитированием
Старый 03.08.2009, 23:03   #35
TAVulator
Программист
Форумчанин
 
Аватар для TAVulator
 
Регистрация: 23.07.2009
Сообщений: 101
По умолчанию

Цитата:
в этом примере...как будет заканчиваться цикл....вдруг "0" вообще не будет?
учитывая, что
Код:
i:=i div 10;
то "0" обязательно настанет :-)
Если вы верите, что можете или не можете
сделать что-то, вы правы в обоих случаях.

______________________________(С) Г.Форд
TAVulator вне форума Ответить с цитированием
Старый 03.08.2009, 23:07   #36
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

в четырнацетом вопросе обращения... к "6".....

я не предираюсь к твоему познанию и блистательному алгоретмическому мышлению.....))

но...а вдруг будет ноль...но кпримеру....не будет введно число в (буфер) и приетом был нажат интер....это переменная будет нулем же?

но так думаю нужно создать такую процедуру....что на всякие не штатные ситуации....её не глюкнуло...
Doholyan вне форума Ответить с цитированием
Старый 03.08.2009, 23:18   #37
TAVulator
Программист
Форумчанин
 
Аватар для TAVulator
 
Регистрация: 23.07.2009
Сообщений: 101
По умолчанию

в #14 речь шла о последней цифре в числе :-)
Цитата:
А у меня еще вопрос... А как вытащить последнее число из integer???
Например из 123456
Вытащить 6
и тоже было решено математически:
Код:
x:=a mod 10
Цитата:
но...а вдруг будет ноль...но кпримеру....не будет введно число в (буфер) и приетом был нажат интер....это переменная будет нулем же?
если переменная i в моем примере будет равна нулю, то и переменная n (кол-во цифр в числе) тоже будет равна нулю. Ты это имел ввиду?
Цитата:
но так думаю нужно создать такую процедуру....что на всякие не штатные ситуации....её не глюкнуло...
если не сложно - приведи пример нештатной ситуации?
Если вы верите, что можете или не можете
сделать что-то, вы правы в обоих случаях.

______________________________(С) Г.Форд
TAVulator вне форума Ответить с цитированием
Старый 03.08.2009, 23:24   #38
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

сдаюсь!))))))))
Doholyan вне форума Ответить с цитированием
Ответ


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