Не понимаю...В файле хранятся 8 целых чисел.В каждой строке расположеныдва числа через...

0 голосов
21 просмотров

Не понимаю...В файле хранятся 8 целых чисел.В каждой строке расположеныдва числа через пробел –координаты точки на плоскости.Выяснить,точкарасположена дальше всех отначала координат. Вывести ответв тот же файл в следующем виде:в первой строке – слово «ответ»,в следующей строке –координаты точки, в следующейстроке – расстояние от началакоординат.


Информатика (223 баллов) | 21 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

А что тут собственно понимать?

Расстояние от начала координат до точки - фактически, гипотенуза треугольника с катетами, равными отрезкам по осям координат. Обычная теорема Пифагора. Более того, можно сравнивать не гипотенузы, а их квадраты, чтобы не пользоваться вычислением квадратного корня.

OM² = OMx²+OMy² (см. вложение)

Во втором вложении - тестовый файл in.txt. Поскольку ответ выводится в этот же файл, для повторного запуска программы файл становится непригоден, в связи с чем следует хранить его исходную копию.

PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var a := ReadAllText('in.txt').ToReals.Batch(2).ToArray;

 var i := a.Select(t -> Sqr(t.First) + Sqr(t.Last)).ToArray.IndexMax;

 var f := OpenAppend('in.txt');

 Writeln(f, NewLine, 'ответ', NewLine, a[i].First, ', ', a[i].Last,

     NewLine, Sqrt(Sqr(a[i].First) + Sqr(a[i].Last)));

 f.Close

end.


image
Скачать вложение Текст (TXT)
(654k баллов)