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

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

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 10. Последовательность а1, а2, …,аn состоит из нулей и единиц. Поместить в начало этой последовательности все нули, а затем все единицы. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-6/10 98

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

Сначала считаем количество единиц в последовательности. Пусть их число равно $$k$$. Тогда в отсортированной последовательности первые $$n-k$$ элементов должны быть нулями, а последние $$k$$ элементов — единицами.

Для этого достаточно:

  • считать массив;
  • проверить, что каждый элемент равен $$0$$ или $$1$$;
  • подсчитать количество единиц;
  • вывести сначала $$n-k$$ нулей, затем $$k$$ единиц.

var
  a: array[1..1000] of integer;
  i, n, k: integer;
begin
  write(‘Введите размер последовательности: ‘);
  readln(n);

  for i := 1 to n do
  begin
    write(‘Введите #’, i, ‘: ‘);
    readln(a[i]);

    while (a[i] <> 0) and (a[i] <> 1) do
    begin
      writeln(‘Введено недопустимое значение!’);
      write(‘Введите #’, i, ‘: ‘);
      readln(a[i]);
    end;
  end;

  k := 0;
  for i := 1 to n do
    if a[i] = 1 then k := k + 1;

  writeln;
  write(‘Отсортированная последовательность: ‘);
  for i := 1 to n do
  begin
    if i <= n — k then a[i] := 0
    else a[i] := 1;
    write(a[i]);
  end;
end.

Ответ

Последовательность нужно упорядочить так, чтобы сначала шли все нули, а затем все единицы; программа выше выполняет это через подсчёт числа единиц.



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