Работа 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.
Ответ
Последовательность нужно упорядочить так, чтобы сначала шли все нули, а затем все единицы; программа выше выполняет это через подсчёт числа единиц.