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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2015, 12:03   #1
Swaxi
Новичок
Джуниор
 
Регистрация: 11.10.2015
Сообщений: 1
По умолчанию Помогите срочно!

В Российской Федерации на разных видах транспортных средств устанавливаются
разные по формату регистрационные знаки («автомобильные номера»). Вот пример
нескольких возможных форматов регистрационных знаков.


№ Пример Описание формата Тип транспортного средства
1 Y019KM Буква, три цифры, две буквы Частные транспортные средства
2 AB179 Две буквы, три цифры Общественный транспорт и такси
3 OН2645 Две буквы, четыре цифры Прицепы
4 3384CT Четыре цифры, две буквы Мотоциклы


В этой задаче «буквой» может быть любая заглавная буква латинского алфавита.
Напишите программу, которые по регистрационному знаку определяет его тип или
определяет, что регистрационный знак некорректен.
Программа получает на вход три строки текста, каждая строка содержит один образец
регистрационного знака (возможно, некорректный). Каждый образец содержит от 1 до 10
символов, являющихся цифрами и заглавными латинскими буквами (других символов во
входных данных быть не может).
Программа должна вывести для каждого образца число, соответствующее типу
транспортного средства, как в приведенной таблице, то есть 1 — для частных транспортных
средств, 2 — для общественного транспорта, 3 — для прицепов, 4 — для мотоциклов. Если
номерной знак некорректен (не подходит ни к одному из указанных типов), то необходимо
вывести число 0. Каждое число необходимо выводить в отдельной строке.


Пример входных и выходных данных

Ввод Вывод
Y019KM 1
A9999 0
OH2645 3
Swaxi вне форума Ответить с цитированием
Старый 11.10.2015, 19:04   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
В Российской Федерации
Цитата:
может быть любая заглавная буква латинского алфавита
чот подозрительно! господин американский шпион, перелогиньтесь!
Код:
function MatchesFormat(const F, S: string): Boolean;
var
  idx: Integer;
begin
  Result:= False;
  if Lenght(F) <> Length(S)
    then exit;

  for idx:= 1 to Length(F) do
    case F[idx] of
      'd', 'D': if not CharInSet(S[idx], ['0'..'9']) then Exit;
      'c', 'C': if not CharInSet(S[idx], ['A'..'Z']) then Exit;
    else Exit;
    end;

  Result:= True;
end;

{
  пример:

  F:= 'cdddcc';
  S:= 'A123BC';
  if MatchesFormat(F, S)
    then...
    else...;
}
Ахтунг! Аттеншн! Внимание! Увага!!! SHIT-CODE detected!!! Не отлаживал, писал на заборе!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 11.10.2015 в 19:20.
min@y™ вне форума Ответить с цитированием
Старый 12.10.2015, 09:56   #3
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Swaxi, вам же объяснили уже, что ваше условие неверно. Переформулируйте задачу.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод нужен срочно помогите ) в течение 2 часов от Паскаля на Турбо СИ нужно помогите Жанибек Помощь студентам 14 01.04.2015 17:23
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Парни помогите!!срочно нужно решить в течении пару часов..завтра зачет!Парни помогите! razorl1ner Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 00:02