|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проверить истинность высказывания "все цифры данного числа различны" в Delphi 7
я не знаю что надо написать чтобы программа проверяла числа
|
#2
|
||||
|
||||
Элеменатрно...
Код:
//Есть число n var n : Word;//число s : String;//строка-массив символов i, j : word; check : boolean; begin Check := True; s := IntToStr;//перевести число в строку for i := 0 to Length(s)-1 do//от нуля до конца строки for j := i to Length(s)-1 do//от определенного символа до конца строки if S[i]=S[j] then//если определенный символ совпадает с любым остальным Check := false;//то проверка не пройдена if Check then//если проверка пройдена ShowMessage('Сопадений нет') else//если проверка не пройдена ShowMessage('Совпадения есть'); end; В начале был Бит, потом Байт и только потом появилось Слово... Последний раз редактировалось NIch, 29.12.2009 в 09:08. |
#3
|
||||
|
||||
Сперва получить из числа все цифры
Проще всего переведя в строку - тогда каждый символ и есть число. Если нельзя через строку, последовательно mod и div. Далее по очереди ( в цикле ) берешь цифрыот первй до предпоследней и сравниваешь их ( в еще одном цикле ) с цифрами от следующей до последней. Если нашел хоть одно совпадение - высказывание ложно. _________ ЗЫ: опоздал - поправлю NIch : строки вроде начинаются с 1 и при j := i - S[i]=S[j] ( у меня "на коленке" и похуже бывает ) Последний раз редактировалось s0Creator, 29.12.2009 в 09:11. |
#4
|
||||
|
||||
А через множества не проще?
|
#5
|
||||
|
||||
Цитата:
|
#6
|
||||
|
||||
Цитата:
Код:
var st:string; mn:set of char; i:byte; ok:boolean; begin st:=Edit1.Text; ok:=true; for i:=1 to Length(st) do begin if st[i] in mn then ok:=false else mn:=mn+[st[i]]; end; if ok=true then ShowMessage('Win!') else ShowMessage('Fail!'); end; Это если вводить текстом число. Если оно просто целым числом передается, вначале преобразуй его в строку и все. А так - эта прога будет работать даже для буквенных строк, в принципе. |
#7
|
|||
|
|||
спасбо всем с наступающим вас ) проверю
|