В процедуре удалить из исходного массива элементы с четными индексами - Turbo Pascal

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

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

- Ввести произвольную размерность одномерного массива в интервале 1..10. - Ввести данные (тип данных указан в вариантах) с клавиатуры в виде «Х[i]=», где i – индекс элемента. - После окончания ввода для контроля данных вывести на экран массив. - Обработать данные в подпрограмме (тип подпрограммы и способ обработки указан в вариантах) и вывести результат. - Ввод данных и вывод результатов на экран должны производиться в головной программе, все вычисления – в подпрограммах. Оформить подпрограммы в отдельном модуле. Подключить модуль к головной программе. - Все символьные элементы считать вводимыми только в нижнем регистре. - Если результатами вычислений являются вещественные числа, то выводить их с точностью до 1-го знака после точки. Массив символов. В процедуре удалить из исходного массива элементы с четными индексами. Первый элемент массива считать элементом с индексом 1. Размерность итогового массива должна уменьшиться. Помогите срочно, пожалуйста Не знаю на верном пути иду или нет, но вот все,что пока написано

Решение задачи: «В процедуре удалить из исходного массива элементы с четными индексами»

textual
Листинг программы
unit lab5m;
Interface
type
  M = array[1..10] of integer;
procedure RemoveEvenIdx(var a:M; var n: integer);
 
implementation
procedure RemoveEvenIdx(var a: M; var n: integer);
var i, j: Integer;
begin
  i:=0; j:=0;
  while j<n do begin
    a[i]:=a[j]; Inc(i); Inc(j,2);
  end; n:=i;
end;
end.

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

В данном коде описывается процедура RemoveEvenIdx, которая принимает два аргумента: переменную a типа M, представляющую исходный массив, и переменную n типа integer, представляющую количество элементов в массиве. Внутри процедуры используются две переменные i и j типа Integer. Переменная i инициализируется значением 0, а переменная j - значением 0. Затем происходит цикл while, который выполняется до тех пор, пока значение переменной j меньше значения переменной n. Внутри цикла происходит обмен элементов массива с индексами i и j. После каждого обмена значения переменных i и j инкрементируются на единицу. Значение переменной n также инкрементируется на единицу после каждого обмена. После завершения цикла значение переменной n будет равно значению переменной i, то есть количество нечетных элементов в массиве. Таким образом, данная процедура удаляет элементы с четными индексами из исходного массива.

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

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