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

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

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

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

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
. . . for j:=n downto 2 do  for i:=2 to j do  if x[i-1]>x[i] then     begin	y:=x[i]; x[i]:= x[i-1]; x[i-1]:=y;	end;
(Верный ответ)
. . . for j:=n downto 2 do  for i:=1 to j-1 do  if x[i]>x[i+1] then     begin	y:=x[i]; x[i]:= x[i+1]; x[i+1]:=y;	end;
(Верный ответ)
. . . for j:=1 to n do   for i:=2 to j do   if x[i-1]>x[i] then 	begin	y:=x[i]; x[i]:= x[i-1]; x[i-1]:=y;	end;
. . . for j:=1 to n-1 do  for i:=1 to j do  if x[i]>x[i+1] then     begin	y:=x[i]; x[i]:= x[i+1]; x[i+1]:=y;	end;
Похожие вопросы

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

…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;…
Для сортировки различных частей одномерного массива, выбранных по определенному правилу (так, чтобы "невыбранные" элементы оставались стоять на своих местах), необходимо:
Для сортировки различных частей одномерного массива, выбранных по определенному правилу (так, чтобы "невыбранные" элементы оставались стоять на своих местах), необходимо:
В результате выполнения какой программы на Паскале (фрагменты приведены ниже) из исходного массива А=\{1, 2, 3\} произойдет такая выборка элементов: 11 12 13 22 23 33
В результате выполнения какой программы на Паскале (фрагменты приведены ниже) из исходного массива А=\{1, 2, 3\} произойдет такая выборка элементов: 11 12 13 21 22 23 31 32 33

Типовой алгоритм поиска максимального и минимльного элемента двумерного массива на Паскале, фрагмент которого приведен ниже, содержит ошибку. Найдите ее:

…m1:=x[1,1]; m2:=x[1,1];for i:=1 to n dofor j:=1 to m doif x[i,j]<m1 then m1:=x[i,j]else m2:=x[i,j];…

Фрагменты программ на Паскале реализуют алгоритмы формирования таких комбинаторных групп, как:

  • ...for i:=1 to n-1 dofor j:=i+1 to n do writeln (A[i], A[j]); 
  • ...for i:=1 to n dofor j:=i to n do writeln (A[i], A[j]); 
  • …for i:=1 to n dofor j:=1 to n do if i<>j then writeln (A[i], A[j]);
  • …for i:=1 to n dofor j:=1 to n do writeln (A[i], A[j]);
  • В результате выполнения программы, фрагмент которой приведен ниже, элементы одномерного массива примут значения …

    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 (координаты концов отрезка), массива 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);…

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