циклический сдвиг вправо



Автор Gg fggffg задал вопрос в разделе Другие языки и технологии

помогите решить...на языке паскаль...с массивами и получил лучший ответ

Ответ от Миоко Таканава[гуру]
Вы задание не дописали? На сколько позиций сдвигать массив? Циклический сдвиг массива вправо на 1 позицию: program N63598236; const N = 10; var a:array[ 1..N ] of shortint; i:byte; t:shortint; begin randomize; writeln(\'Исходный массив: \'); for i := 1 to N do begin a[ i ] := random(21) - 10; write(a[ i ]:4) end; t := a[ N ]; for i := N downto 2 do a[ i ] := a[ i - 1 ]; a[ 1 ] := t; writeln; writeln(\'Массив, сдвинутый вправо на 1 элемент: \'); for i := 1 to N do write(a[ i ]:4); readln end. Циклический сдвиг массива вправо на произвольное вводимое пользователем количество элементов: program N63598236; const N = 10; var a:array[ 1..N ] of shortint; i, j, k:byte; t:shortint; begin randomize; writeln(\'Исходный массив: \'); for i := 1 to N do begin a[ i ] := random(21) - 10; write(a[ i ]:4) end; writeln; write(\'Введите кол-во позиций сдвига: \'); readln(k); for j := 1 to k do begin t := a[ N ]; for i := N downto 2 do a[ i ] := a[ i - 1 ]; a[ 1 ] := t end; writeln(\'Сдвинутый массив: \'); for i := 1 to N do write(a[ i ]:4); readln end.

Ответ от Ўрий-17[гуру]
Миоко! Откуда такой здоровенный номер программы? Это случаем не порядковый ли? 🙂

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: помогите решить...на языке паскаль...с массивами

что делает операция shl на паскале и примеры ее использования
Циклический сдвиг: k shl N - сдвиг числа к влево на N позиций,

k shr N - сдвиг числа к
подробнее...
Битовый сдвиг на Википедии
Посмотрите статью на википедии про Битовый сдвиг
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*