Поговаривали, будто давным-давно кто-то из Туков взял себе жену из эльфов. Глупости, конечно, но и до сих пор во всех Туках и в самом деле проскальзывало что-то не совсем хоббитовское: время от времени кто-нибудь из клана Туков пускался на поиски приключений.
Вот и Бильбо, единственный сын Беладонны Тук, в замужестве Бэггинс, по виду и всем повадкам точная копия своего солидного благопристойного папаши, получил от Туков в наследство какую-то странность, которая только ждала случая себя проявить.
Напишите программу, которая будет искать во введенных строках странность в любом виде (достаточно проверить подстроку странност). А если найдет, то выведет среднее арифметическое их длин.
Формат ввода
Вводятся строки, пока не будет введена строка ЭЛЬФ.
Формат вывода
Вывести среднее значений длин строк, в которых есть странность. Если таких строк нет, вывести 0. Ничего округлять не нужно.
ПИТОН
type
base = record
id: integer;
ball: integer;
end;
var
t: text;
a: array of array of integer;
n: integer;
st, tmp: string;
err: integer := 1;
database: base;
begin
readln(n);
setlength(a, n);
for i: integer := low(a) to high(a) do
setlength(a[i], 2);
for i: integer := low(a) to high(a) do
begin
readln(st);
tmp := st;
delete(tmp, pos(' ', tmp, err), tmp.Length - pos(' ', tmp, err) + 1);
database.id := strtoint(tmp);
tmp := st;
delete(tmp, 1, pos(' ', tmp, err));
database.ball := strtoint(tmp);
a[i, 0] := database.id;
a[i, 1] := database.ball;
end;
var j: integer := 0;
assign(t, 'output.txt');
rewrite(t);
while (j <= high(a)) do
begin
if (j + 1 < high(a)) and (a[j, 1] = a[j + 1, 1]) then
if (a[j, 0] < a[j + 1, 0]) then begin
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');
end else begin
write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
end;
if (j+1=n) then
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
inc(j, 2);
end;
close(t);
end.
Объяснение:
Телеконференция - это система обмена электронными сообщениями на определенную тему между абонентами сети (в режиме отложенного общения -offline). Каждый участник получает все материалы на свой почтовый адрес (E:mail). Каждое электронное письмо абонента публикуется на сервере телеконференции и доходит до всех участников.
В отличие от электронной почты, когда пользователь отправляет свое письмо персонально какому-то абоненту или группе абонентов, в телеконференциях письмо направляется одновременно всем ее участникам. В свою очередь, все сообщения, которые поступают в адрес конференции, будут поступать в почтовый ящик пользователя и загружаться в его компьютер во время сеанса связи. Чтобы стать участником телеконференции, на нее нужно подписаться. Для этих целей существуют определенные адреса. Всякая конференция посвящена определенной теме, поэтому переписка в ней происходит только в рамках темы. По некоторым данным число постоянно действующих в настоящее время конференций в Интернете превысило 50000.
Службу телеконференций называют по-разному: группы новостей, служба Usenet. На узлах Сети работу телеконференций обслуживают серверы новостей. На ПК пользователя должна быть установлена клиент-программа новостей. Упомянутая выше программа MS Outlook Express является одновременно почтовым клиентом и клиентом новостей.
Телеконференции объединяют в себе как коммуникационную, так и информационную функции. С одной стороны, здесь происходит личностное общение, с другой — материалы конференции содержат большой объем полезной информации, которая определенное время хранится на сервере. Эта информация может рассматриваться как некоторый информационный ресурс (электронная газета). Это особенно важно для специалистов, участвующих в конференциях по профессиональной тематике: наука, производство, бизнес, торговля и пр. В материалах конференции можно найти ценные советы, консультации, которые в принятии важных решений.
Информационные службы
Информационные службы предоставляют пользователям возможность доступа к определенным информационным ресурсам, хранящимся в Интернете. Такими ресурсами являются либо файлы в одном из общепринятых форматов, либо различные документы. Использование этих ресурсов обеспечивается с соответствующих служб.
Служба передачи файлов
Часто эту службу называют по имени используемого протокола: FTP (File Transfer Protocol — протокол передачи файлов). Со стороны Сети работу службы обеспечивают так называемые FTP-серверы, а со стороны пользователей — FTP-клиенты. Назначение FTP-сервера — хранение набора файлов самого разнообразного назначения (обычно в архивированном виде). Чаще всего это программные файлы: средства системного и прикладного программного обеспечения. Но в наборах могут храниться файлы и любых других форматов: графические, звуковые, документы MS Word, MS Excel и пр. Вся эта информация образует иерархическую структуру папок (каталогов и подкаталогов).
После соединения FTP-клиента с сервером на экране пользователя открывается файловый интерфейс хранилища папок и файлов на сервере (наподобие Проводника Windows). Далее работа происходит так же, как с файловой системой на ПК: папки и файлы можно сортировать, копировать на свои диски. Клиент FTP входит в состав программы Internet Explorer и поэтому всегда имеется на ПК, работающем под управлением MS Windows.