|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.03.2009, 19:07 | #1 |
Форумчанин
Регистрация: 07.03.2009
Сообщений: 209
|
проблема с переменные
Добрый вечер..... Я написала программу которая определяет, есть ли среди цифр заданного N- значного целого числа одинаковые цифры и их количество.... Но у меня возникла такая проблема.... Мне нужно чтобы пользователь вводил только цифры, а при вводе символа программа бы опять просила бы ввода чисел...
program p6; procedure input_numbers(var number:string); begin writeln('введите целое число'); readln(number); end; function definition_numbers(var number:string):integer; var i,j,records:integer; begin records:=0; for i:=1 to length(number)-1 do for j:=i+1 to length(number) do if number[i]=number[j] then records:=records+1; definition_numbers:=records; end; procedure output_summ(number:string); begin if definition_numbers(number)>0 then writeln('есть совпадения цифр') else writeln('*нет совпадений цифр'); writeln('количество совпадений = ',definition_numbers(number)); writeln('для завершения программы нажмите Enter'); readln; end; var number:string; begin input_numbers(number); output_summ(number); end. |
07.03.2009, 19:47 | #2 |
Форумчанин
Регистрация: 11.11.2008
Сообщений: 161
|
Код:
|
07.03.2009, 20:03 | #3 |
Форумчанин
Регистрация: 07.03.2009
Сообщений: 209
|
а можно это дело заменить условием repeat....until? и я что то не пойму как это дело вставить....
20:06 хех.... я поняла как ее вставить.... а как мне сделать это с помощью цикла repeat......until нет.... 20:12 и скажите мне пожалуйста что означает set of в строке const Mn: set of char ['0'..'9']; Последний раз редактировалось mihali4; 07.03.2009 в 23:09. Причина: Объединение постов |
07.03.2009, 20:28 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
tanek, объявлена константа Mn представляющая собой
множество символов от '0' до '9' Про множество можно прочитать в любой книжке по Паскалю, или, вкратце, можете посмотреть тут - Паскаль (язык программирования) — Википедия или тут - Символы и строки. Множества (INTUIT.ru) и ещё. Вы извините, но мне кажется, что Ваша функция definition_numbers работает неверно... ;-( сколько одинаковых цифр в числе 1111 ? мне кажется, что правильный ответ - 4 Так?... ПОЗДРАВЛЯЕМ С 8-м Марта! |
07.03.2009, 20:58 | #5 |
Форумчанин
Регистрация: 07.03.2009
Сообщений: 209
|
опачки..... да...... я с вами полностью согласна..... а как же мне это исправить?
p.s. спасибочки огромное за поздравление |
07.03.2009, 21:54 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а попробуйте функцию заменить на:
Код:
в результате в массиве CountDigit мы получаем сколько раз встретился символ '0', сколько раз встретился символ '1' и т.д. до того, сколько раз встретился символ '9'... потом в цикле проходим - если символ встретился более одного раза (значит есть повторы - то увеличиваем счётчик повторов на число - сколько раз встретился тот или иной символ... Последний раз редактировалось Serge_Bliznykov; 07.03.2009 в 21:59. |
07.03.2009, 21:57 | #7 |
Новичок
Джуниор
Регистрация: 07.03.2009
Сообщений: 1
|
Молодец, у меня так не получалось.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
переменные процесса | SoLL | Общие вопросы Delphi | 2 | 31.12.2008 12:19 |
Переменные скрипта | wall66 | PHP | 7 | 12.12.2008 17:14 |
Переменные REAL | Terabit | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 03.11.2008 21:26 |
переменные FoxPro | Vasya | Свободное общение | 0 | 27.01.2008 00:29 |
Переменные из БД | Кронос | БД в Delphi | 2 | 06.06.2007 11:26 |