Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 08.06.2019
Сообщений: 50
1

Выполнить сдвиг элементов массива

29.08.2019, 15:19. Показов 2102. Ответов 5
Метки нет (Все метки)

Пользователь выбирает количество сдвигов и положение (влево, вправо).
Выполнить сдвиг массива и показать на экран полученный результат. Сдвиг циклический.
Например, если мы имеем следующий массив
1 2 0 4 6 7 9
и пользователь выбрал сдвиг на 2 разряда влево, то мы получим
0 4 6 7 9 1 2
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2019, 15:19
Ответы с готовыми решениями:

Выполнить циклический сдвиг элементов массива
Выполнить циклический сдвиг элементов массива X(N), N меньше или равно 20,на К позиций, в...

Выполнить кольцевой сдвиг элементов массива
не понимаю как делать задание,туго идет. И вообще тяжело(( Помогите если можете)) Вот задание: ...

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

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

5
1686 / 892 / 364
Регистрация: 11.10.2018
Сообщений: 4,684
29.08.2019, 15:21 2
В чем проблема?
0
0 / 0 / 0
Регистрация: 19.11.2018
Сообщений: 13
29.08.2019, 15:24 3
он не знает как это сделать, в этом проблема.
0
913 / 591 / 291
Регистрация: 22.02.2018
Сообщений: 1,743
Записей в блоге: 2
29.08.2019, 15:31 4
mngtbad, можно здесь посмотреть Функция: циклический сдвиг на n позиций вправо элементов целочисленного массива
0
1686 / 892 / 364
Регистрация: 11.10.2018
Сообщений: 4,684
29.08.2019, 15:40 5
1) Заводите массив - про массивы и про то что ниже почитайте, пожалуйста, справку в Интернете, также смотрите программы по ссылкам ниже на форуме;
2) Спрашиваете у пользователя куда двигать и на сколько - используйте кодманды:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
string Str;
 
cout << "Vvedite kuda dvigat?[1-vpravo, -1-vlevo]\n";
cin >> Str;
if(strcmp(Str, "1"))
{
//Vpravo
 
}
else
{
//Vlevo
 
}
3) Сдвиг
3.1) Для сдвига влево: Сохраняете последнее число в переменную:
C++
1
int Num;
Первое число копируете в последнее число.
Сдвигаете все числа влево.
Последнее число копируете в предпоследнее число.
3.2) Для сдвига вправо аналогично.

Справка по операциям в Интернете.
Копирование переменной-то знаете хоть как сделать?
0
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
29.08.2019, 17:28 6
А можно использовать rotate из библиотеки algorithm
Первый параметр - итератор на начало сдвига в контейнере
Второй параметр - ячейка, которая должна стоять на месте первого параметра
Последний параметр - итератор на конец сдвига в контейнере

C++
1
2
3
vector<int> arr = {1, 2, 3, 4, 5, 6};
int shift = 2;
rotate(arr.begin(), ( shift < 0 ? arr.end() : arr.begin() ) + shift, arr.end());
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2019, 17:28

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Выполнить линейное сдвиг элементов массива, расположенных в нечетных позициях
Задание вот : Дано натуральное число N и одномерный массив A1, A2, ..., AN символьных элементов....

Выполнить кольцевой сдвиг элементов массива так чтобы его первый максимальный элемент оказался на k-том месте
Дан одномерный массив размерность n и число k. Если в исходном массиве чисел больше, чем k, то в...

Выполнить циклический сдвиг массива на x позиций вправо
Дано натуральное число n, действительные числа A1,.,An. Выполнить циклический сдвиг массива на x...

Выполнить циклический сдвиг массива на заданное количество столбцов
Дан двумерный массив размерностью N x M, заполненный случайными числами из диапазона от 0 до 100....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.