Циклический сдвиг элементов массива влево на P позиций - PascalABC.NET

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

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

Помогите пожалуйста Осуществите сдвиги элементов в массиве так, чтобы выполнялось указанное условие. Условие:Дан одномерный массив размера K и натуральное число P (P < K). Осуществить: а) сдвиг элементов массива влево на P позиций, при котором исходное значение P первых элементов массива будет потеряно. Последние P элементов полученного массива замените на среднее арифметическое утерянных значений элементов; б) циклический сдвиг элементов массива влево на P позиций

Решение задачи: «Циклический сдвиг элементов массива влево на P позиций»

textual
Листинг программы
begin
  var k:=ReadInteger('Введите K:');
  var a:=ArrRandomReal(k);
  a.Println;
  var p:=ReadInteger('Введите P:');
  a:= a.Skip(p).ToArray + Arr(a.Take(p).Average)*p;
  a.Println;
end.

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

  1. Сначала программа запрашивает у пользователя ввод числа K и сохраняет его в переменную k.
  2. Затем программа генерирует случайный массив a размером k и выводит его на экран.
  3. Далее программа запрашивает у пользователя ввод числа P и сохраняет его в переменную p.
  4. Используя методы Skip и Take, программа создает новый массив a, в который входят только элементы изначального массива a, которые находятся на позициях, смещенных вправо на P позиций.
  5. Затем программа вычисляет среднее значение элементов массива a, используя метод Average, и умножает его на P.
  6. Полученное значение добавляется в конец нового массива a.
  7. Наконец, новый массив a выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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