В одномерном целочисленном массиве поменяйте местами первый нечетный и последний четный элементы. - Pascal

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

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

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

Решение задачи: «В одномерном целочисленном массиве поменяйте местами первый нечетный и последний четный элементы.»

textual
Листинг программы
const n = 20;
var mas: array[1..n] of integer;
    i, f, l, t: integer;
begin
  randomize;
  f := 0;
  l := 0;
  writeln('Исходный массив:');
  for i := 1 to n do
    begin
      mas[i] := random(10) + 1;
      write(mas[i]:3);
      if (f = 0) and (mas[i] and 1 = 1)
        then f := i
        else if mas[i] and 1 = 0
          then l := i
    end;
  writeln;
  if f * l <> 0
    then begin
      writeln('Номер первого нечётного элемента: ', f);
      writeln('Номер последнего чётного элемента: ', l);
      t := mas[f];
      mas[f] := mas[l];
      mas[l] := t;
      writeln('Преобразованный массив:');
      for i := 1 to n do write(mas[i]:3);
      writeln
    end
    else if f = 0
      then writeln('Массив не содержит нечётных элементов')
      else writeln('Массив не содержит чётных элементов');
  readln
end.

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

  1. Объявлены переменные: n, mas, i, f, l, t типа integer.
  2. Переменная n инициализируется значением 20.
  3. Переменная mas инициализируется одномерным массивом целых чисел размером 20.
  4. Переменные f, l инициализируются нулевыми значениями.
  5. Выводится сообщение Исходный массив: и производится цикл по элементам массива.
  6. В каждой итерации цикла в элемент массива записывается случайное число от 1 до 10, затем это число выводится на экран.
  7. Если текущий элемент массива нечётный и f равно 0, то f присваивается номер текущего элемента.
  8. Если текущий элемент массива чётный и f не равно 0, то l присваивается номер текущего элемента.
  9. Если f и l не равны 0, то это значит, что в массиве есть как нечётные, так и чётные элементы.
  10. Выводится сообщение Номер первого нечётного элемента:, затем выводится номер первого нечётного элемента массива.
  11. Выводится сообщение Номер последнего чётного элемента:, затем выводится номер последнего чётного элемента массива.
  12. Значение первого нечётного элемента присваивается переменной t.
  13. Значение первого нечётного элемента присваивается элементу массива с индексом f.
  14. Значение последнего чётного элемента присваивается элементу массива с индексом l.
  15. Выводится сообщение Преобразованный массив: и производится цикл по элементам массива.
  16. В каждой итерации цикла на экран выводится значение элемента массива.
  17. Если f равно 0, то выводится сообщение Массив не содержит нечётных элементов.
  18. Если f не равно 0, то выводится сообщение Массив не содержит чётных элементов.
  19. Программа ожидает ввода пользователя для завершения работы.

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


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

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

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