. Дана квадратная матрица. Произвести циклический сдвиг элементов каждой строки матрицы на К элементов влево.
Решение на паскаль

mada4653 mada4653    2   26.04.2020 13:50    32

Ответы
ПУТИН222 ПУТИН222  26.04.2020 14:30

Объяснение:

Алгоритм решения данной задачи можно описать так:

За у пользователя количество шагов сдвига и направление. Условиться, что если вводится отрицательное целое, то сдвиг выполняется влево на указанное абсолютное значение, если вводится положительное число, то сдвиг вправо.

Заполнить исходный массив и вывести его на экран.

Выполнять внешний цикл столько раз, сколько шагов было указано.

Если было введено отрицательное число, то выполнить цикл от первого элемента до предпоследнего, перезаписав в нем значение каждой очередной ячейки на значение последующей. Записать в последнюю ячейку 0.

Иначе, выполнить цикл от последнего элемента до второго, записывая в каждую текущую ячейку значение предыдущей. В первую ячейку записать 0.

Вывести на экран текущий массив.

Сдвиг Влево

-4

111 222 333 444 555 666 777 888 999

222 333 444 555 666 777 888 999   0

333 444 555 666 777 888 999   0   0

444 555 666 777 888 999   0   0   0

555 666 777 888 999   0   0   0   0

Сдвиг в Право

5

111 222 333 444 555 666 777 888 999

  0 111 222 333 444 555 666 777 888

  0   0 111 222 333 444 555 666 777

  0   0   0 111 222 333 444 555 666

  0   0   0   0 111 222 333 444 555

  0   0   0   0   0 111 222 333 444

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика