Дан массив целых чисел, содержащий 20 элементов - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дан массив целых чисел, содержащий 20 элементов (массив ввести как типизированную константу). Записать в новый массив сначала все отрицательные числа затем все положительные числа и нули, сохраняя порядок их следования.

Решение задачи: «Дан массив целых чисел, содержащий 20 элементов»

textual
Листинг программы
program iuly;
 
const a: array [1..20] of integer =
  (5, -2, 4, 0, 5, -10, 1, -8, 9, 12, 45, -3, 0, 78, -5, 99, 21, -9, 10, 11);
 
var i, j: byte;
    b: array [1..20] of integer;
    loop : boolean;
 
begin
  j := 1;
  writeln('Source array:');
  for loop := true downto false do
    for i := 1 to 20 do
    begin
      if loop then write(a[i]:4);
      if (a[i] < 0) = loop
        then begin
          b[j] := a[i];
          inc(j)
        end
    end;
  writeln;
  writeln('Result:');
  for i := 1 to 20 do write(b[i]:4);
  readln
end.

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

В данном коде объявлен массив целых чисел a со 20 элементами. Затем объявлен другой массив b также со 20 элементами, который будет использоваться для хранения результатов. Далее идет переменная i, которая будет использоваться для итерации по элементам массива a. Также объявлена переменная j, которая будет использоваться для итерации по элементам массива b. Затем идет цикл loop, который будет выполняться до тех пор, пока loop равно true. Внутри цикла loop идет вложенный цикл for i := 1 to 20 do, который будет выполняться для каждого элемента массива a. Внутри вложенного цикла проверяется условие if loop then write(a[i]:4), что означает, что если значение переменной loop равно true, то выводится значение элемента массива a[i]. Затем проверяется условие if (a[i] < 0) = loop, что означает, что если значение элемента массива a[i] меньше нуля, то значение переменной loop должно быть равно true. Если это условие выполняется, то копируется значение элемента массива a[i] в элемент массива b[j]. Затем значение переменной j увеличивается на единицу. После завершения вложенного цикла for i := 1 to 20 do выполняется вывод результатов в массив b с помощью функции write(b[i]:4). После этого выводится строка readln, чтобы перейти на новую строку. В конце кода выводится результат с помощью функции write(b[i]:4) для каждого элемента массива b. Наконец, с помощью функции readln происходит чтение ввода пользователя, чтобы завершить выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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