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