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