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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 20:01   #1
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию нахождение повторяющихся цифр в числе

Здраствуйте уважаемые программисты....
Возник такой вопрос!
Дается число, нужно сказать есть ли повторющиеся цифры в числе или нет..
Проблема в том что нельзя использовать матрицы и строковые типы...
Очень нужна ваша помощь....
Заранее спасибо
world12_tk вне форума Ответить с цитированием
Старый 21.12.2010, 20:34   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Код:
Program RepeatDigit;
var
 S, D, i : Integer;
 Digits : array[0..9] of Integer;
begin
Read(S);
for i := 0 to 9 do Digits[i] := 0;
while ( S <> 0 ) do
 begin
 D := S mod 10;
 if Digits[D] > 0 then
  begin
  writeln('Есть');Exit;
  end
 else
  inc( Digits[D]);
 S := S div 10;
 end;
writeln ('Нет');
end.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 21.12.2010, 21:39   #3
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию

Z1000000 массив использовать нельзя.....
world12_tk вне форума Ответить с цитированием
Старый 21.12.2010, 21:56   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Код:

Program RepeatDigit;
var
 S, D, i,tempNum, num : Integer;
 Digits : array[0..9] of Integer;
begin
  Read(S);
  
  while ( S <> 0 ) do
   begin
     D := S mod 10;
     tempNum :=  S div 10;
    while ( tempNum <> 0 ) do
      begin
      num := tempNum mod 10;
      if(d = num) then
        begin 
          writeln('Есть');
          Exit;
        end;
      tempNum :=  tempNum div 10;
      end;    
     S := S div 10;
   end;
  writeln ('Нет');
end.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение цифр в числе Onekey Помощь студентам 6 23.10.2010 17:21
Перестановка цифр в числе lisenog Помощь студентам 7 22.10.2010 01:33
Количество цифр в числе Zelenyi Общие вопросы C/C++ 8 18.06.2010 03:24
Найти количество цифр в числе immor Помощь студентам 4 14.02.2009 22:30