![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 02.12.2012
Сообщений: 6
|
![]()
Телефонные номера в адресной книге мобильного телефона имеют один из следующих форматов:
+7С<номер> 8<код><номер> <номер> где <номер> - это семь цифр, а <код> - это три цифры или три цифры в круглых скобках. Если код не указан, то считается, что он равен 495. Кроме того, в записи телефонного номера может стоять знак "-" между любыми двумя цифрами(см.пример). На данный момент в адресной книге телефона Васи записано всего три телефонных номера, и он хочет записаь туда еще один. Но он не может понять, не записан ли уже такой номер в телефонной книге. Помогите ему! Два телефонных номера совпадают, если у них равны коды и равны номера. Например, +7(916)0123456 и 89160123456 - это один и тот же номер. Формат входных данных В первой строке входных данных записан номер телефона, который Вася хочет добавить в адресную книгу своего телефона. В следующих трех строках записаны номера телефонов, которые уже находятся в адресной книге телефона Васи. гарантируется, что каждая из записей соотвествует одному из трех привиденных в условии форматов. Формат выходных данных! Дл\ каждого телефонного номера в адресной строке книги выведите YES, если он совпадает с тем телефонным номером, который Вася хочет добавить в адресную строку или NO в противном случае. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
данная задачка чрезвычайно проста и, по сути ничего, кроме обработки строк не требует.
Читайте очередной номер, удаляйте все "-" и скобки из строки, если после этого длина номера короче 8 цифр, то в начале дописывайте строчку "495", если нет, то, если в начале строки +7 удалить два символа из начала строки, иначе, если в начале строки 8 - удалить один символ. Всё. Вы получили номер в формате 10 цифр. Эту операцию вынесите в фунцию (для удобства), выполняйте её для искомого номера и для каждой из трёх строк. сравнивайте полученные строки в цикле. выводите результат сравнения. Всё. профит. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на обработку строки: найти самое короткое слово и проверить в нём наличие заданного сочетания букв | Черныш Иван | Помощь студентам | 5 | 05.06.2011 17:12 |
Проверить на наличие изображения | Nikolay-1989 | БД в Delphi | 1 | 15.03.2011 08:21 |
Проверить наличие устройства | Hulkus | Помощь студентам | 0 | 27.02.2011 23:50 |
Проверить наличие запроса? | alco84 | Microsoft Office Access | 2 | 25.03.2010 22:56 |
изменение номера страницы в Колонтитулах по всей книге Exel | DimonJar | Microsoft Office Excel | 0 | 09.02.2010 20:12 |