• Язык программирования - pascal

    Что должно получится в результате:
    Ввод: 7N5E2S3E Вывод:5N8E
    Ввод:10N30W20N Вывод:30N30W

    question img

Ответы 1

  • PascalABC.NET 3.4.2, сборка 1843 от 24.10.2018Внимание! Если программа не работает, обновите версию!

    begin

     var s := ReadlnString;

     var L := s.MatchValues('\d+[NWSE]').ToList;

     var (x, y) := (0, 0); // N: +y, E: +x, S: -y, W: -x

     foreach var t in L do

     begin

       var n := t[:t.Length].ToInteger;

       case t.Last of

         'N': y += n;

         'E': x += n;

         'S': y -= n;

         'W': x -= n

       end

     end;

     var sy := y > 0 ? 'N' : 'S';

     var sx := x > 0 ? 'E' : 'W';

     $'{Abs(y)}{sy}{Abs(x)}{sx}'.Println

    end.

    answer img
    • Автор:

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

Еще вопросы

Войти через Google

или

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

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

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