Утроить вхождение всех элементов в массиве с нечетными номерами - Turbo Pascal

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

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

помогите решить

Решение задачи: «Утроить вхождение всех элементов в массиве с нечетными номерами»

textual
Листинг программы
uses crt;
const nmax=100;
var a:array[1..3*nmax] of integer;
    n,i,j,k,x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(50);
  write(a[i]:4);
 end;
writeln;
i:=n;{начнем с конца чтоьы не менялись индексы непроверенных}
while i>=1 do
if odd(i) then {если нечетный номер}
 begin
  for k:=1 to 2 do { 2 раза}
   begin
    x:=a[i];{запомним элемент}
    n:=n+1; {увеличим размер массива}
    for j:=n downto i+1 do {раздвинем массив вправо}
    a[j]:=a[j-1];
    a[i]:=x;{вставим элемент}
   end;
  i:=i-1;{к началу}
 end
else i:=i-1;{если четный номер к началу}
for i:=1 to n do
write(a[i]:4);
readln
end.

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

В данном коде используется язык программирования Turbo Pascal. Он предназначен для создания и работы с массивами целых чисел. В начале кода объявляется переменная nmax, которая представляет максимально возможное количество элементов в массиве. Далее объявляются переменные n, i, j, k, x, которые будут использоваться в цикле и для обработки элементов массива. Цикл повторяется до тех пор, пока размер массива n не станет от 1 до nmax. В каждой итерации цикла пользователю предлагается ввести размер массива. После этого выводится исходный массив. Каждый элемент массива генерируется случайным образом от 1 до 50 с помощью функции random(50). Затем начинается цикл while, который продолжается до тех пор, пока текущий индекс i не станет четным. Если текущий индекс i нечетный, то происходит следующее:

  1. Запоминается текущий элемент массива x.
  2. Увеличивается размер массива n на 1.
  3. Все элементы массива с индексами от n до i+1 сдвигаются вправо на одну позицию влево.
  4. Текущий элемент массива x вставляется на место элемента с индексом i.
  5. Индекс i сбрасывается на предыдущее значение i-1. Если текущий индекс i четный, то просто сбрасывается на предыдущее значение i-1. После завершения цикла выводится массив с элементами, которые были введены пользователем.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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