Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 14

Выполнить циклический сдвиг всех элементов массива на один вправо начиная с первого нулевого элемента

13.02.2015, 20:37. Показов 3834. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан линейный массив на N элементов. Выполнить циклический сдвиг всех его элементов на один вправо начиная с первого нулевого элемента. Нулевой элемент обязательно существует.
Входные данные: Выходные данные:
Во входном потоке в первой строке задано натуральное число N - количество элементов массива (N <= 100).
Во второй строке через пробел перечислены целые значения элементов массива. Все значения не превышают по модулю 1000.
В выходной поток вывести в строку через пробел целые числа.
Вот что написал но сайт почему то не хочет это брать
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
i,b,n,k: Integer;
a: array [1..100] of Integer;
begin
Readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to 4 do
begin
for k:=n downto 1 do
if (k=n)
then b:=a[n]
else a[k+1]:=a[k];
a[1]:=b;
end;
for i:=1 to n do write(a[i],' ');
end.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2015, 20:37
Ответы с готовыми решениями:

Выполнить циклический сдвиг всех элементов массива на один вправо начиная с последнего нулевого элемента
Дан линейный массив на N элементов. Выполнить циклический сдвиг всех его элементов на один вправо начиная с последнего нулевого элемента....

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

Выполнить циклический сдвиг массива вправо на 4 элемента
Пожалуйста, помогите решить вот эту задачу. Заполнить массив из 12 элементов случайными числами в интервале и выполнить циклический...

5
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
13.02.2015, 20:41
Цитата Сообщение от Просто бетмен Посмотреть сообщение
for i:=1 to 4 do
Это что?
0
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 14
13.02.2015, 20:45  [ТС]
Это сдвиг
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
13.02.2015, 20:48
Так по условию на 1 вправо а при чем здесь 4, откуда это число? Вы для начала прочитайте внимательно условие и попробуйте его понять, а не пишите всякую чушь.
0
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 14
13.02.2015, 20:50  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Так по условию на 1 вправо а при чем здесь 4, откуда это число? Вы для начала прочитайте внимательно условие и попробуйте его понять, а не пишите всякую чушь.
Хорошо спасибо сейчас попробую

Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
Так по условию на 1 вправо а при чем здесь 4, откуда это число? Вы для начала прочитайте внимательно условие и попробуйте его понять, а не пишите всякую чушь.
Я так понял что там не только эту строчку исправлять не так ли ?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
13.02.2015, 21:02
Лучший ответ Сообщение было отмечено Просто бетмен как решение

Решение

Цитата Сообщение от Просто бетмен Посмотреть сообщение
не так ли ?
Именно так.

Добавлено через 10 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var a: array [1..100] of Integer;
    n,p,i,b: Integer;
begin
read(n);
p:=0;
for i:=1 to n do
 begin
  read(a[i]);
  if(p=0)and(a[i]=0)then p:=i;//индекс первого нулевого
 end;
b:=a[n];//запомнили последний
for i:=n downto p+1 do//сдвинули начиная с первого ноля вправо на 1
a[i]:=a[i-1];
a[p]:=b;//на место ноля записали a[n]
for i:=1 to n do write(a[i],' ');
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2015, 21:02
Помогаю со студенческими работами здесь

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

Выполнить циклический сдвиг элементов массива вправо
Заполнить массив случайными числами и выполнить циклический сдвиг элементов массива вправо на 1 элемент.

Выполнить циклический сдвиг элементов массива вправо на 1 позицию
Доброго времени суток, решил попросить помощи у вас уважаемые форумчане... Не допускается использование операторов, прерывающих ход...

Выполнить циклический сдвиг элементов массива влево и вправо
Дан массив размера N и число k (0 &lt; k &lt; 5, k &lt; N). Осуществить циклический сдвиг элементов массива влево и вправо на k позиций. В этой...

Выполнить циклический сдвиг массива влево без первого элемента
Пожалуйста, помогите решить вот эту задачу. Заполнить массив из 10 элементов случайными числами в интервале и выполнить циклический...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru