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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2011, 22:31   #1
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
Восклицание Задача:дано число n.Правдали оно содержит ровно 3 одинаковых цифры

Доброго времени суток ув. форумчане.Прошу вашей помощи в решении курсовой задачи по информатике.Язык программирования Borland Delphi 7.Задача состоит в следующем:дано число n.Правдали оно содержит ровно 3 одинаковых цифры ?.если несложно-приведите полный код программы.Заранее спасибо!

Последний раз редактировалось Dima170792; 25.05.2011 в 18:17.
Dima170792 вне форума Ответить с цитированием
Старый 24.05.2011, 22:46   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

задача немного некорректна..
например, число 111222 содержит РОВНО три одинаковые цифры?!
а число 123123177 - содержит?
а вообще алгоритм (самый простой) - перевести число в строку (через процедуру STR() либо через функцию IntToStr())
потом в цикле брать первую цифру и увеличивать счётчик этой цифр на один, вторую цифру - увеличивать счётчик этой цифры и т.д. до конца строки.
в коде это будет выглядеть примерно так:
Код:
var N : longint;
      s : string;
      i : integer;
      Cnt : array[0..9] of integer; {массив для подсчёта количества цифр}
begin
   N := 5778188;
   s := IntToStr(N);
 
   // обнулим массив счётчиков
  for i:=Low(Cnt) to High(Cnt) do  Cnt[i] := 0;

  // основной цикл подсчёта
  for i:=1 to Length(s) do
    Inc(Cnt[ StrToInt(s[i]) ]);

   // тут анализ полученных результатов...
   
end;

p.s. перечитал задачу... если имеется в виду, что условиям задачи отвечает только СТРОГО ТРЁХЗНАЧНОЕ число со всеми одинаковыми цифрами, то задача решается в один оператор!
примерно так:
Код:
  if (N>=100) and (N<=999) 
       and (N mod 10)=((N div 10) mod 10)
       and ((N div 10) mod 10)=(N div 100)
    then ShowMessage('Подходит!')
    else  ShowMessage('Число не подходит!')
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2011, 18:07   #3
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
p.s. перечитал задачу... если имеется в виду, что условиям задачи отвечает только СТРОГО ТРЁХЗНАЧНОЕ число со всеми одинаковыми цифрами, то задача решается в один оператор!
примерно так:
Код:
  if (N>=100) and (N<=999) 
       and (N mod 10)=((N div 10) mod 10)
       and ((N div 10) mod 10)=(N div 100)
    then ShowMessage('Подходит!')
    else  ShowMessage('Число не подходит!')
обьясните пожалуста как организовать ввод числа n в EDIT1,и вывод результата в EDIT2?
Dima170792 вне форума Ответить с цитированием
Старый 25.05.2011, 20:12   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот так всё плохо, да?...

Код:
  N := StrToInt(Edit1.Text);
if (N>=100) and (N<=999) 
       and (N mod 10)=((N div 10) mod 10)
       and ((N div 10) mod 10)=(N div 100)
    then Edit2.Text := 'Число подходит!'
    else  Edit2.Text := 'Число не подходит!';
переменную N объявить сумеете самостоятельно?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2011, 20:19   #5
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
Радость

Та в том и проблема-язык знаю мало-а преподаватель требует то-чего сама толком не изучала!-мы подопытная группа-раньше все задачи решали в паскале-а тут за пол года в делфи пытаються мастеров создать!
ps. Переменную обьявить смогу!за помощь-большое спасибо!
Dima170792 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано натуральное число N ,правдали,что сумма цифр етого числа-непарная?если несложно-выложите код програ Dima170792 Помощь студентам 3 04.05.2011 22:35
Дано число a. Как определить, четное оно, или нечетное? pahanzona Общие вопросы Delphi 5 09.03.2011 12:49
Дано натуральное число. Верно ли, что в этом числе нет цифры А. А задается с клавиатуры. Женечка92 Помощь студентам 9 03.04.2010 16:06
Дано число. Отбросить в нем все цифры, стоящие левее самой правой единицы. SkApY Помощь студентам 5 09.11.2009 20:58
Ввести число N и определить делится ли оно без остатка на число M (VBA) Ivanich Microsoft Office Excel 7 24.04.2008 19:43