Вопрос задан 20.02.2019 в 16:32. Предмет Информатика. Спрашивает Шуравина Оксана.

Напишите программу для выполнения циклического сдвига массива вправо на 3 элемент.В PascalABC.

Заранее благодарю.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шавердин Данила.
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var a:=ArrRandom(n,-50,50); a.Println;
  a:=(a[n-3:]+a[:n-3]).ToArray; a.Println
end.

Пример
n= 15
1 -10 49 1 28 18 -44 -46 -23 36 36 -49 -46 -49 -21
-46 -49 -21 1 -10 49 1 28 18 -44 -46 -23 36 36 -49
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на PascalABC, которая осуществляет циклический сдвиг массива вправо на 3 элемента:

```pascal program ShiftArray;

const N = 10; // размер массива

var arr: array[1..N] of Integer; // исходный массив i, temp: Integer;

begin // заполняем массив значениями от 1 до N for i := 1 to N do arr[i] := i;

// выводим исходный массив writeln('Исходный массив:'); for i := 1 to N do write(arr[i], ' '); writeln;

// выполняем циклический сдвиг вправо на 3 элемента for i := 1 to 3 do begin temp := arr[N]; // сохраняем последний элемент for j := N downto 2 do arr[j] := arr[j - 1]; // сдвигаем остальные элементы arr[1] := temp; // вставляем сохраненный элемент в начало end;

// выводим полученный массив writeln('Массив после сдвига:'); for i := 1 to N do write(arr[i], ' '); writeln; end. ```

В данной программе мы создаем массив `arr` размером 10 элементов и заполняем его значениями от 1 до N. Затем мы выводим исходный массив.

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

Наконец, мы выводим полученный массив после сдвига. Результат работы программы будет выглядеть примерно так:

``` Исходный массив: 1 2 3 4 5 6 7 8 9 10 Массив после сдвига: 8 9 10 1 2 3 4 5 6 7 ```

Таким образом, массив сдвигается на 3 элемента вправо.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос