База ответов ИНТУИТ

Решение олимпиадных задач по информатике

<<- Назад к вопросам

Для сортировки различных частей одномерного массива, выбранных по определенному правилу (так, чтобы "невыбранные" элементы оставались стоять на своих местах), необходимо:

(Отметьте один правильный вариант ответа.)

Варианты ответа
удалить из исходного массива "ненужные" элементы, затем сортировать полученный массив
заменить "ненужные" элементы исходного массива нулями, заием сортировать массив
в качестве индексов сортируемых элементов использовать содержимое элементов дополнительного массива, в котором хранятся индексы "нужных" элементов исходного массива(Верный ответ)
"разбить" элементы исходного массива, поместив "нужные" элементы исходного массива в первый дополнительный массив, "ненужные" элементы - во второй массив. Сортировать первый массив
Похожие вопросы
Для сортировки различных частей одномерного массива, выбранных по определенному правилу (так, чтобы "невыбранные" элементы оставались стоять на своих местах), необходимо:
Выберите фрагменты программ на Паскале, реализующие алгоритм сортировки одномерного массива "Пузырьком":

Найдите ошибки в программе, реализующей алгоритм сортировки одномерного массива "Пузырьком", фрагмент которой приведен ниже:

…for j:=2 to n do  for i:=1 to j do  if x[i]>x[i+1] then beginy:=x[i]; x[i]:= x[i+1]; x[i+1]:=y;end;…

В результате выполнения программы, фрагмент которой приведен ниже, элементы одномерного массива примут значения …

const n=10; k=5;… for i:=1 to n do a[i]:=i;for i:=k to (n-1) do a[i]:= a[i+1];…

В результате выполнения программы, фрагмент которой приведен ниже, элементы одномерного массива примут значения …

const n=10; k=5;var a: array [1..n+1] of integer;…for i:=1 to n do a[i]:=i;for i:=k to n do a[i+1]:=a[i];a[k]:=0;…

Какие шаги необходимо включить в словесный алгоритм для решения задачи: "N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей" из предложенного набора:

  • A. исходные данные вводим в массив
  • B. массив Flag заполняется "1" (если элемент массива исходных данных соответствует началу события), "-1" (соответствует окончанию события)
  • C. сортируем массив исходных данных, одновременно переставляя элементы массива Flag
  • D. суммируем элементы массива Flag. Анализируем сумму.
  • Какие шаги необходимо включить в словесный алгоритм для решения задачи: "В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки" из предложенного набора:

    A. исходные данные вводим в массив

    B. массив Flag заполняется "1" (если имеющий такой же порядок элемент массива исходных данных соответствует началу события, связанного с этим данным), "-1" (соответствует окончанию события)

    C. сортируем массив исходных данных, одновременно переставляя элементы массива Flag

    D. суммируем элементы массива Flag. Анализируем сумму.

    Использование дополнительного массива флажков ("отмечающих" выбранные элементы в соответствующих флажкам позициях исходного массива) предполагает, что:

    Какие шаги необходимо включить в словесный алгоритм для решения задачи: "В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется" из предложенного набора:

  • A. исходные данные вводим в массив
  • B. массив Flag заполняется "1" (если имеющий такой же порядок элемент массива исходных данных соответствует началу события, связанного с этим данным), "-1" (соответствует окончанию события)
  • C. сортируем массив исходных данных, одновременно переставляя элементы массива Flag
  • D. суммируем элементы массива Flag. Анализируем сумму.
  • Ниже приведен фрагмент программы, реализующий алгоритм решения задачи: "N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей":

    …//заполнение массива a (координаты концов отрезка), массива flag ("1" и "-1")…//сортировка массива а с перестановкой элементов массива flag (в соответствии с перестанавливаемыми элементами массива а) …for i=1 to 2*n do begin s:=s+flag [i]; if s=0 then k:=k+1; end;writeln ('количество связных областей', k);…

    Сколько связных областей дадут два отрезка, имеющие одну общую координату (начало одного совпадает с концом другого)?