Выведите одно целое число — координату точки, в которой лучше всего построить школу - 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
Листинг программы
  1. Private Sub Command1_Click()
  2.    Dim n As Long                         'количество учеников
  3.   Dim Coord, s As String                'координаты домов учеников'
  4.   Open "c:\111\Z_3.in" For Input As #1
  5.      Open "c:\111\Z_3.out" For Output As #2
  6.          Do While Not EOF(1)
  7.                Line Input #1, s: n = CInt(Trim(s))
  8.                Line Input #1, s: Coord = Split(Trim(s))
  9.                Write #2, vasy(Coord)
  10.          Loop
  11.       Close #1
  12.     Close #2
  13. End Sub
  14.  
  15. Private Function vasy(ByRef C) As String
  16.     Dim i As Long, n As Long, sum As Long
  17.     n = UBound(C)
  18.     'Здесь должно быть вычисление  координаты точки, в которой лучше всего построить школу
  19.    'Алгоритм предлагаю продумать самому, а пока функция возвращает округленное среднее арифметическое адресов
  20.    For i = 0 To n
  21.         sum = sum + C(i)
  22.     Next i
  23.     vasy = CStr(sum \ (n + 1))
  24. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы