• Нужно перевести задачу с С++ на Paskal с объяснением ( дорого )
    #include

    using namespace std;

    bool isletter(char c) {
    return c == 'A'
    || c == 'B'
    || c == 'C'
    || c == 'E'
    || c == 'H'
    || c == 'K'
    || c == 'M'
    || c == 'O'
    || c == 'P'
    || c == 'T'
    || c == 'X'
    || c == 'Y';
    }

    int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; ++i) {
    string s;
    cin >> s;
    if (s.length() == 6
    && isletter(s[0])
    && isdigit(s[1])
    && isdigit(s[2])
    && isdigit(s[3])
    && isletter(s[4])
    && isletter(s[5])) {
    cout << "Yes";
    } else {
    cout << "No";
    }
    cout << endl;
    }
    return 0;
    }

Ответы 1

  • function isletter (c : Char) : boolean;

    begin

    case c of

    'A': isletter := true;

    'B': isletter := true;

    'C': isletter := true;

    'E': isletter := true;

    'H': isletter := true;

    'K': isletter := true;

    'M': isletter := true;

    'O': isletter := true;

    'P': isletter := true;

    'T': isletter := true;

    'X': isletter := true;

    'Y': isletter := true;

    else

    isletter := false;

    end;

    end;

    function isdigit(c:char):boolean;

    begin

    IsDigit:=c in ['0'..'9']

    end;

    var

    n : integer;

    i : integer;

    s : string;

    begin

    readln(n);

    for i := 1 to n do

    begin

    readln(s);

    if (length(s) = 6) and (isletter(s[1])) and (isdigit(s[2])) and (isdigit(s[3])) and (isdigit(s[4])) and (isletter(s[5])) and (isletter(s[6])) then

    writeln('Yes')

    else

    writeln('No');

    end;

    end.

    Чего объяснять та?) Переписал все точь в точь за исключением того, что в free pascal вроде как нет встроенной функции проверки char на цифра ли и пришлось писать самому. + Мне не оч нрав реализация isletter. Стремная, но так было в спрайтах, так что я молчу.

    • Автор:

      janaextdx
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years