Выведите одно целое число — координату точки, в которой лучше всего построить школу - VB
Формулировка задачи:
В деревне Интернетовка все дома расположены вдоль одной улицы по одну сторону от нее. По другую сторону от этой улицы пока ничего нет, но скоро все будет – школы, магазины, кинотеатры и т.д.
Для начала в этой деревне решили построить школу. Место для строительства школы решили выбрать так, чтобы суммарное расстояние, которое проезжают ученики от своих домов до школы, было минимально.
План деревни можно представить в виде прямой, в некоторых целочисленных точках которой находятся дома учеников. Школу также разрешается строить только в целочисленной точке этой прямой (в том числе разрешается строить школу в точке, где расположен один из домов – ведь школа будет расположена с другой стороны улицы).
Напишите программу, которая по известным координатам домов учеников поможет определить координаты места строительства школы.
Входные данные
Сначала вводится число N — количество учеников (1 ≤ N ≤ 100000). Далее идут в строго возрастающем порядке координаты домов учеников — целые числа, не превосходящие 2∙109 по модулю.
Выходные данные
Выведите одно целое число — координату точки, в которой лучше всего построить школу. Если ответов несколько, выведите любой из них.
ПРИМЕР
Z_3.in
4
'количество учеников' 1 2 3 4 'координаты домов учеников'3
-1 0 1 Z_3.out 2 0Пожалуйста напишите программу с комментариями.
Решение задачи: «Выведите одно целое число — координату точки, в которой лучше всего построить школу»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim n As Long 'количество учеников
- Dim Coord, s As String 'координаты домов учеников'
- Open "c:\111\Z_3.in" For Input As #1
- Open "c:\111\Z_3.out" For Output As #2
- Do While Not EOF(1)
- Line Input #1, s: n = CInt(Trim(s))
- Line Input #1, s: Coord = Split(Trim(s))
- Write #2, vasy(Coord)
- Loop
- Close #1
- Close #2
- End Sub
- Private Function vasy(ByRef C) As String
- Dim i As Long, n As Long, sum As Long
- n = UBound(C)
- 'Здесь должно быть вычисление координаты точки, в которой лучше всего построить школу
- 'Алгоритм предлагаю продумать самому, а пока функция возвращает округленное среднее арифметическое адресов
- For i = 0 To n
- sum = sum + C(i)
- Next i
- vasy = CStr(sum \ (n + 1))
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д