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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 19:07   #1
RomashkaGT
 
Регистрация: 10.11.2010
Сообщений: 4
Вопрос

добрый вечер. недавно начал осваивать дельфи, поэтому, собственно, есть вопросик. поставлена такая задача: определить, есть ли среди цифр заданного трехзначного числа, одинаковые.
____________
поподробней: в проге мы вводим в эдит трехзначное число. при нажатии на кнопку сравнения мы должны получить определенный результат проверки чисел и вывести сообщение шоумесседжем- есть ли в трехзначном числе повторяющиеся составляющие знаки или нет. например вводим число 554, получаем сообщение, что есть одинаковые числа).
Собственно вопрос: как осуществить сравнение каждого символа из составляющего числа между собой?

Последний раз редактировалось RomashkaGT; 11.11.2010 в 21:20.
RomashkaGT вне форума Ответить с цитированием
Старый 11.11.2010, 20:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Обьясняю стратегию:
1) Ведешь массив типа integer с границами: a:array['0'..'9'] of integer;
2) Когда чето вводишь в Эдит увеличивай элемент массива, по индексу введенного:
inc(a[c]) - где c - вновь введенный в Эдит символ, и проверенный что он представляет цифру.

3) в Цикле пройди и проверь - если хотя бы один из массива элемент более 1 то значит введенных цифр, несколько.

Уловил месседж?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 19:44   #3
RomashkaGT
 
Регистрация: 10.11.2010
Сообщений: 4
По умолчанию

Stilet
вот я объявил в варе массив. в кнопку сравнения я включаю цикл условия от 1 до 3. далее чего-то я месседж не уловил)) не ругайтесь сильно
RomashkaGT вне форума Ответить с цитированием
Старый 12.11.2010, 20:02   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

а дальше так:
Код:
with Edit1 do 
 for i:=1 to length(text) do begin
  if i>3 then break;
   inc(Массив[text[i]]);
  if Массив[text[i]]>1 then begin
   Типа введено несколько символов text[i]
  end;
 end;
Таким образом получаешь в Массиве кол-во символов-цифр, соответственно индексам.
И сразу же можно проверить сколько уже символов похожих на проверяемый в цикле было обнаруженно.
Ферштейнышко?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение двух таблиц и вывод результата в третьей lapsus Microsoft Office Excel 12 01.06.2010 16:17
Ассемблер вывод результата. SickUSP Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 28.01.2010 19:16
Запрос в БД и вывод результата Nice42ru Помощь студентам 10 05.11.2009 09:47
Сравнение значений в ячейках и выдача результата в различиях tovruslan Microsoft Office Excel 1 02.12.2008 22:25
UpdateData(false) в цикле? вывод числа в Edit box Иван36 Помощь студентам 5 31.03.2008 18:33