Отсортировать массив - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д