Отсортировать массив - 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.

Объяснение кода листинга программы

  1. Объявляются переменные: i, n, z, t типа integer, предположительно целочисленного типа данных.
  2. Значение переменной z устанавливается равным 0.
  3. Читается значение переменной n с помощью функции readln.
  4. Выполняется цикл от 1 до n.
    • Значение переменной t считывается с помощью функции read.
    • Если значение переменной t равно 0, значение переменной z увеличивается на 1 с помощью функции inc(z).
  5. Выводится результат. Первые z чисел выводятся как 0, затем оставшиеся числа от z + 1 до n выводятся как 1.

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы