1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.6 Упр.12 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Класс
10
Предмет
Информатика
Автор
Семакин, Хеннер, Шеина

Работа 3.6 Упр.12 ГДЗ Семакин 10 класс (Информатика)

Задача

Дана последовательность действительных чисел $$a_1 \le a_2 \le \dots \le a_n$$. Вставить действительное число $$b$$ в нее так, чтобы последовательность осталась неубывающей.

Подробный ответ

Чтобы вставить число $$b$$ в неубывающую последовательность, нужно найти такое место, где выполняется

$$a_{i-1} \le b \le a_i.$$

Тогда число $$b$$ ставится на позицию $$i$$, а все элементы, начиная с этой позиции, сдвигаются вправо на один шаг.

Если подходящее место не найдено, то число $$b$$ добавляется в конец последовательности.

var n,f,z,x,j,i,b: integer; a: array[1..100] of integer;
begin
  f := 0;
  writeln;
  write(‘введите кол-во элементов ‘); read(n);
  for i := 1 to n do begin
    write(‘Введите A[‘, i, ‘]’); read(a[i]);
  end;
  write(‘Введите b ‘); read(b);
  for i := n downto 1 do begin
    if (f = 0) and (b <= a[i]) and (b >= a[i-1]) then begin
      x := a[i];
      a[i] := b;
      z := i;
      f := 1;
    end;
  end;
  a[z] := x;
  for i := n+1 downto z do begin
    a[i] := a[i-1];
  end;
  for i := 1 to n+1 do writeln(‘A[‘, i, ‘] = ‘, a[i]);
end.

В этом решении программа:

  • считывает количество элементов и саму последовательность;
  • считывает число $$b$$;
  • находит место вставки в неубывающей последовательности;
  • сдвигает элементы вправо и вставляет $$b$$;
  • выводит новую последовательность из $$n+1$$ элемента.

Ответ: число $$b$$ вставляется в найденную позицию так, чтобы сохранялось условие $$a_1 \le a_2 \le \dots \le a_n$$.



Общая оценка
5 / 5
Другие учебники
Другие предметы