Сформировать новый массив заданным образом - Turbo Pascal

  1. Задан массив В(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.


Похожие ответы
  1. Произвольно заданы три одномерных массива. Сформировать новый массив, состоящий из десяти элементов с наибольшими значениями исходных массивов. Помогите пожалуйста! Нужно написать программу с while и repeat!!!(отдельные)

  1. Сформировать одномерный массив из сумм квадратов элементов каждого столбца матрицы. Все что находил все было не рабочим, помогите пожалуйста все-таки ее решить)

  1. В массиве а1, а2, ..., а30 найти среднее арифметическое всех отрицательных элементов, а из оставшихся сформировать новый массив bk. Буду очень благодарен.

  1. Написать программу на TurboPascal. Задан случайными числами массив А. Сформировать новый массив С, который состоит из элементов массива А, которые превосходят свой номер на 10. одномерные массивы. помогите решить. Я уж и так и эдак, но ничего нормального даже близко не выходит.

  1. зарегистрироваться в файл двумерный A массив размером n*n. работу программы нужна начат с чтения матрицы из файла и Параллельно изображат на графическом экране. матрицу нужно изменять по следующему принципу,передвигая строку и столбец поместить Наибольший элемент матрицы на верхний левый угол' в nклетке (1,1) . тем же самым способом нужно поступить с матрицои , которая является производным от предыдущей, не принимая во внимание первую строку и столбец. Наибольший элемент второй матрицы должен появится в клетке (2,2).так продолжая сформировать главную диагональ матрицы

  1. Дан дек строковых элементов. Составить новый дек, записывая в него элементы исходного дека, изымая их поочередно слева и справа.Помогите с подпрограммой. Вот модуль

  1. Используя описание список = ^ звено звено = record элемент: тип элемента следующий список end Написать программу , которая формирует список L, включив в него по одному разу элементы, которые входят хотя бы в один из списков L1 и L2.

  1. 4. Дан действительный массив размерностью n*m, в которой не все элементы равны нулю. Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент.

  1. Дана последовательность из строчных латинских букв. Сформировать множество, состоящее из первых вхождений букв в данную последовательность, сохраняя их исходный взаимный порядок.

  1. Задание во вложении. Ввод/вывод написал, помогите с формированием матрицы. Индексация именно с нуля должна быть.