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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2011, 18:06   #1
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию Проверка числа на n-значность

Возникла идея проверки числа которое мы вводим с клавиатуры на n-значность !

Можно ли сделать как-бы свою команду по которой всё это определялось!
Тоесть тупо пишу if a>=0 and a=<9 then writeln(число такое то) else и так далее!

Но не логично так делать ифами каждый раз поэтому есть ли способ самому сделать команду
которая обрабатывала это сама только как это написать в обной каманде???:
к примеру там

KolRaz(a,s); a-само число! s- типа string сюда выводится какое число
BlackFishSQL вне форума Ответить с цитированием
Старый 06.05.2011, 19:04   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
function Kolraz(a:integer):integer;
var i:integer;
begin
i:=0;
while a<>0 do begin
i:=i+1;
a:=a div 10;
end;
Kolraz:=i;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 06.05.2011, 20:49   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я уже на форуме давал ответ на этот вопрос.
искать не буду, проще повторить тоже самое..

вот
Код:
var
  s : string;
  N,N0, Len : Longint;
  i : integer;
begin
  ReadLn(N);
  if N<0 then begin
     WriteLn('отрицательные числа для простоты игнорируем...');
     Halt;
  end;

  {способ 1}
  Str(N, s);
  WriteLn('Количество цифр = ',Length(s));
  Readln;

  {способ 2}
  Len := 0;
  N0 := N;
  repeat
    Inc(Len);
    N0 := N0 div 10;
  until N0=0;
  WriteLn('Количество цифр = ',Len);
  Readln;

  {способ 3}
  if N=0 then WriteLn('Одна цифра')
  else begin
    Len := trunc(ln(N)/ln(10))+1;
    WriteLn('Количество цифр = ',Len);
  end;
  Readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка числа на четность Alex1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 06.11.2010 16:24
Проверка числа(начинаю только изучать). khorolpavel Общие вопросы C/C++ 4 04.10.2010 22:38
Проверка на простые числа Lemo Помощь студентам 1 29.09.2009 21:38
Проверка чётности числа Antoha79 Помощь студентам 3 23.05.2009 12:58
проверка числа на дробность _ares_ Общие вопросы C/C++ 2 07.10.2008 10:35