Найти закопанный пиратами клад просто: все, что для этого необходимо, это

Отыскать закопанный пиратами клад просто: все, что для этого необходимо, это карта. Как знаменито, пираты обычно живописуют карты от руки и обрисовывают метод нахождения клада так: Встаньте около одинокой пальмы. Пройдите 30 шагов в сторону леса, потом семнадцать шагов в сторону озера,... наконец десять шагов в сторону великого булыжника. Клад находится под ним. Великая часть таких указаний просто сводится к прохождению какого-то количества шагов в одном из восьми направлений: 1 - север, 2 - северо-восток, 3 - восток, 4 - юго-восток, 5 - юг,6 - юго-запад, 7 - запад, 8 - северо-запад (см. рис.1). Длина шага в любом направлении одинакова 1.

Рис.1.

Странствие по такому пути обычно является прекрасным методом поглядеть окрестности, но в наше время неизменной спешки ни у кого нет времени на это. Потому кладоискатели желают идти впрямую в точку, где зарыт клад. К примеру, вместо того чтоб проходить три шага на север, один шаг на восток, один шаг на север, три шага на восток, два шага на юг и один шаг на запад, можно пройти впрямую приблизительно 3,6 шага (см. рис. 1). Для вас нужно написать программку, которая по указаниям пиратов определяет точку, где зарыт клад. Формат входных данных. Первая строка входного файла содержит число N - число указаний (1 lt;= N lt;= 40). Последующие N строк содержат сами указания - номер направления (целое число от 1 до 8) и количество шагов (целое число от 1 до 1000). Числа разделены пробелами. Формат выходных данных. В выходной файл выведите координаты X и Y точки (два вещественных числа, разбитые пробелом), где зарыт клад, считая, что ось Ox ориентирована на восток, а ось Oy на север. Изначально кладоискатель обязан стоять вначале координат. нужно вывести как целое число.

Формат ввода
6 1 3 3 1 1 1 3 3 5 2 7 1

Формат вывода
3 2

Задать свой вопрос
1 ответ

Var

  I, N, D,L:longint;


  X,Y:real;


Begin


  Assign (input, klad.txt);


  Reset (input);


  Read(N);


X:=0; Y:=0;


For I:= 1 to N do begin


Read (D, L);


X := X+sin(Pi/4*(D-1))*L;


Y := Y+cos(Pi/4*(D-1))*L;


End;


  Assign(output, kladt.txt);


  Rewrite(output);


  Writeln(X:0:3, ,Y:0:3);


  Close(output);


End.

Степа Любутский
не правильно
Ilja Brovko
выдает ошибку
Амелия Мелик-Елчиянц
сейчас пробуй
Мишаня Дузалов
там сначала надо сделать файл klad.txt и вписать эти входные числа
Пашок Рассаднин
не получается
Таисия Подхолдина
не проходит
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт