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

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

Приложения:

Ответы

Ответ дал: Аноним
0

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.

Приложения:
Вас заинтересует