В одномерном массиве вставить новый элемент между всеми парами элементов, имеющими разные знаки - Pascal
Формулировка задачи:
В одномерном массиве, элементы которого – целые числа произвести следующие действия 1. вставить новый элемент между всеми парами элементов , имеющими разные знаки.
Решение задачи: «В одномерном массиве вставить новый элемент между всеми парами элементов, имеющими разные знаки»
textual
Листинг программы
const nmax=50; var a:array[1..2*nmax] of integer; n,i,j:byte; c:integer; begin randomize; repeat write('Размер массива от 2 до ',nmax,' n='); readln(n); until n in [2..nmax]; writeln('Исходный массив'); for i:=1 to n do begin repeat a[i]:=-20+random(41); until a[i]<>0;{сделаем массив без нолей, ибо нерлнятно с его знаком} write(a[i]:4) end; writeln; write('Введите число для вставки c='); readln(c); i:=2; while i<=n do if a[i]*a[i-1]<0 then begin n:=n+1; for j:=n downto i+1 do a[j]:=a[j-1]; a[i]:=c; i:=i+2; end else i:=i+1; writeln('Вставка числа ',c,' между числами с разными знаками'); for i:=1 to n do write(a[i]:4); end.
Объяснение кода листинга программы
- Объявляется константа
nmax
со значением 50. - Объявляются переменные: массив
a
размерности от 1 до2*nmax
и целочисленного типа, переменнаяn
целочисленного типа для хранения размера массива, и переменные целочисленного типаi
,j
для использования в циклах, и переменнаяc
целочисленного типа для хранения числа, которое будет вставлено в массив. - Используется функция
randomize
, чтобы инициализировать генератор случайных чисел. - Вводится значение
n
с помощью циклаrepeat-until
, чтобы проверить, что оно находится в диапазоне от 2 доnmax
. - Выводится сообщение
Исходный массив
. - Создается цикл
for
, чтобы заполнить исходный массив случайными числами от -20 до 20, исключая значение 0. - Запрашивается число
c
, которое будет вставлено в массив. - Создается переменная
i
и внутри циклаwhile
происходит перебор элементов массива до тех пор, пока переменнаяi
меньше или равнаn
. Проверяется условие: если произведение элементовa[i]*a[i-1]
меньше нуля (т.е. элементы имеют разные знаки), то происходит вставка числаc
между ними. В противном случае переменнаяi
увеличивается на 1. - Выводится сообщение
Вставка числа
,c
,между числами с разными знаками
. - Создается цикл
for
для вывода измененного массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д