В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия

В компании Х иерархическая структура: У директора руководителей нет.
У каждого сотрудника (кроме директора) есть единственный непосредственный руководитель.
От каждого сотрудника (кроме директора), если двигаться по цепочке руководителей, можно дойти до директора.
Первым шагом анализа структуры компании было решено определить, сколько у каждого сотрудника руководителей:

У директора количество руководителей равно 0.
Для каждого сотрудника количество руководителей равно 1 + «количество руководителей у непосредственного руководителя».
Зная структуру компании, определите количество руководителей у каждого из сотрудников.

Формат ввода
В первой строке записано целое число
n
(
1

n

2
0
0
0
0
0
) — количество сотрудников в компании. Во второй строке записаны
n
целых чисел
p
i
(
0

p
i

n
) — руководитель
i
-го сотрудника.
У директора
p
i
=
0
, т.е. у
i
-го сотрудника нет руководителя.
Гарантируется, что структура удовлетворяет условию задачи.

Формат вывода
Выведите
n
целых чисел
d
i
(
0

d
i
<
n
), количество руководителей у
i
-го сотрудника, в порядке нумерации сотрудников.
Пример 1
Ввод Вывод
5
0 1 2 3 4
0 1 2 3 4

Показать ответ
Ответ:
Fotima100
Fotima100
17.04.2022 00:57
1. Программа для создания файла

// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
  tBook=record
    author:string[30];
    naim:string[50];
    pages:integer;
    godizd:integer
    end;
begin
  var f:file of tBook;
  Rewrite(f,'books.dat');
  Writeln('Ввод данных по книгам');
  var s1,s2:string;
  var i1,i2:integer;
  var book:tBook;
  repeat
    s1:=ReadlnString('Автор или * для окончания ввода:');
    if s1<>'*' then begin
      s2:=ReadlnString('Название книги:');
      i1:=ReadlnInteger('Количество страниц:');
      i2:=ReadlnInteger('Год издания:');
      (book.author,book.naim,book.pages,book.godizd):=(s1,s2,i1,i2);
      Write(f,book)
      end
  until s1='*';
  Writeln('*** Ввод завершен ***');
  f.Close
end.

Тестовое решение
Ввод данных по книгам
Автор или * для окончания ввода: Жюль Верн
Название книги: 80 тысяч километров под водой
Количество страниц: 573
Год издания: 1951
Автор или * для окончания ввода: Сергей Лукьяненко
Название книги: Дозор
Количество страниц: 934
Год издания: 2004
Автор или * для окончания ввода: Жюль Верн
Название книги: Властелин мира
Количество страниц: 104
Год издания: 2011
Автор или * для окончания ввода: *
*** Ввод завершен ***

2. Программа для выборки

// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
  tBook=record
    author:string[30];
    naim:string[50];
    pages:integer;
    godizd:integer
    end;
begin
  var f:file of tBook;
  Reset(f,'books.dat');
  var s:=ReadlnString('Автор книги:');
  var y:=Readinteger('Год издания, не ранее:');
  var k:=0;
  var book:tBook;
  while not f.Eof do begin
    Read(f,book);
    if (book.author=s) and (book.godizd>=y) then begin
      Writeln(book);
      Inc(k)
      end;
  end;
  if k=0 then Writeln('Таких книг не найдено');
  f.Close
end.

Тестовое решение
Автор книги: Жюль Верн
Год издания, не ранее: 2005
(Жюль Верн,Властелин мира,104,2011)
0,0(0 оценок)
Ответ:
скмниниручвк
скмниниручвк
15.10.2021 13:17
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
  var m:=ReadInteger('Количество элементов в массиве А (m):');
  var n:=ReadInteger('Количество элементов в массиве B (n):');
  var k:=ReadInteger('Позиция вставки k (1<k<m):');
  if (k>1) and (k<m) then begin
    var a:=ArrRandom(m,1,99); Writeln('Массив A'); a.Println;
    var b:=ArrRandom(n,1,99); Writeln('Массив B'); b.Println;
    Writeln('Результат вставки'); (a[:k]+b+a[k:]).Println
    end
  else Writeln('Вы нарушили условие 1<k<m')
end.

Тестовое решение
Количество элементов в массиве А (m): 10
Количество элементов в массиве B (n): 6
Позиция вставки k (1<k<m): 4
Массив A
68 64 30 75 36 15 50 39 92 26
Массив B
56 68 97 30 95 63
Результат вставки
68 64 30 75 56 68 97 30 95 63 36 15 50 39 92 26
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота