Отсортировать массив - Pascal (80235)
Формулировка задачи:
помогите.
Линейный целочисленный массив размером N заполнен только нулями и единицами в произвольном порядке. Вам следует переместить элементы так, чтобы в начале массива были нули, а затем единицы.
Формат ввода
В первой строке входного файла input.txt записано одно число N (N ≤ 1000). Во второй строке записано N нулей и единиц через пробел.
Формат вывода
В выходном файле output.txt в единственной строку вывести новый массив в котором вначале расположены все нули, а затем единицы
Решение задачи: «Отсортировать массив»
textual
Листинг программы
var i, n, z, t: integer; begin //assign(input, 'input.txt'); //reset(input); z := 0; readln(n); for i := 1 to n do begin read(t); if t = 0 then inc(z) end; //close(input); //assign(output, 'output.txt'); //rewrite(output); for i := 1 to z do write(0:2); for i := z + 1 to n do write(1:2)//; //close(output) end.
Объяснение кода листинга программы
- Объявляются переменные:
i
,n
,z
,t
типаinteger
, предположительно целочисленного типа данных. - Значение переменной
z
устанавливается равным 0. - Читается значение переменной
n
с помощью функцииreadln
. - Выполняется цикл от 1 до
n
.- Значение переменной
t
считывается с помощью функцииread
. - Если значение переменной
t
равно 0, значение переменнойz
увеличивается на 1 с помощью функцииinc(z)
.
- Значение переменной
- Выводится результат. Первые
z
чисел выводятся как 0, затем оставшиеся числа отz + 1
доn
выводятся как 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д