Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
J_Max
Заблокирован
#1

Кольцевой сдвиг в массиве - C++

21.02.2010, 17:48. Просмотров 1576. Ответов 4
Метки нет (Все метки)

Уважаемые форум чане помогите пожалуйста решить эту задачу:
Дан массив допустим: 1 2 3 4 5 6 7 8, для работы с этим массивом написать функцию
его на экран так же написать функцию которая может заполнять массив случайными числами,
а главное написать функцию кольцевого сдвига, при таком сдвиге в массиве все значения
сохраняются.


Кольцевой сдвиг пример:
Исходный массив: 1 2 3 4 5 6 7 8 9
После работы функции сдвига: 2 3 4 5 6 7 8 9 1
Можете сделать на C++, надо срочно, заранее благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2010, 17:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кольцевой сдвиг в массиве (C++):

Кольцевой сдвиг в массиве - C++
Объясните как работает и как примерно делать не понимаю сам((( нашел пример,но не знаю что делают некоторые переменные + некоторые моменты ...

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

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

Сдвиг элементов в массиве - C++
я сделал сдвиг 1 элемента как сделать сдвиг каждого n числа из количества чисел m например чисел всего 5 а сдвигать или удалять надо...

Сдвиг в динамическом массиве - C++
Добрый день) Сразу оговорюсь что честно пользовался поиском. Если у меня проблемы со зрением - прошу указать соответствующую тему. Спасибо....

Сдвиг диагональных элементов в массиве - C++
В двумерном массиве подвинуть диагональные элементы так, чтобы первый диагональный элемент стал вторым, второй - третьим, n-й - первым....

4
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.02.2010, 17:58 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
функцию его на экран
Вероятно вывода на экран.

Добавлено через 4 минуты
Работает пробуй, надеюсь препод поверит что ты написал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream.h>
#include <stdlib.h>
//------------------------------------------------------
long round_insert(int *const massive, const int size_m);
long print(int *const massive, const int size_m);
long input(int *const massive, const int size_m);
long inprnd(int *const massive, const int size_m);
//------------------------------------------------------
int main(){
const int size = 10;
int massive[size] = {0,1,2,3,4,5,6,7,8,9};
round_insert(massive,size);
print(massive,size);
round_insert(massive,size);
print(massive,size);
round_insert(massive,size);
print(massive,size);
return 0;
}
 
long round_insert(int *const massive, const int size_m){
int tmp = massive[0];
for(int i=0;i<size_m-1;i++)massive[i]=massive[i+1];
massive[size_m-1]=tmp;
return 0;
}
 
long print(int *const massive, const int size_m){
for(int i=0;i<size_m;i++)cout<<massive[i]<<' ';
cout<<'\n';
cout<<'\n';
return 0;
}
 
 
long input(int *const massive, const int size_m){
for(int i=0;i<size_m;i++){cout<<"massive[i] = ";cin>>massive[i];cout<<'\n';}
cout<<'\n';
return 0;
}
 
 
long inprnd(int *const massive, const int size_m){
for(int i=0;i<size_m;i++)massive[i]=rand();
return 0;
}
1
J_Max
Заблокирован
21.02.2010, 18:09  [ТС] #3
надеюсь препод поверит
Поверит, куда он денется.

Добавлено через 1 минуту
Как хорошо что на форуме есть знающие люди, спасибо тебе большое.
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
21.02.2010, 18:13 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <ctime>
using std::cout;
using std::endl;
 
const size_t n=10;
const int minv=-5, maxv=5;
 
void init(int* arr, size_t size)
{
    //Инициализация целыми значениями из отрезка [minv;maxv]
    for(size_t i=0; i<size; ++i)
        arr[i]=rand()%(maxv-minv+1)+minv;
}
 
void print(int* arr, size_t size)
{
    for(size_t i=0; i<size; ++i)
        cout << arr[i] << " ";
    cout << endl;
}
 
void shift(int* arr, size_t size)
{
    int temp=arr[0];
    for(size_t i=0; i<size-1; ++i)
        arr[i]=arr[i+1];
    arr[size-1]=temp;
}
 
int main()
{
    srand(time(NULL));
    int arr[n];
    init(arr, n);
    print(arr, n);
    shift(arr, n);
    print(arr, n);
    system("pause");
    return 0;
}
1
ksenyakor
0 / 0 / 0
Регистрация: 18.06.2010
Сообщений: 11
24.06.2010, 22:48 #5
а можете на паскале написать кольцевой сдвиг? мы С++ еще не изучали,я ничего не поняла.
заранее спасибо!
0
24.06.2010, 22:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2010, 22:48
Привет! Вот еще темы с ответами:

Циклический сдвиг в двумерном динамическом массиве - C++
Вот такая программа, надо сделать циклический сдвиг в двумерном динамическом массиве по такой вот схеме (см. рис). да так, чтобы В...

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

В заданном одномерном массиве осуществить циклический сдвиг - C++
1) Дано одномерный массив, осуществить циклический сдвиг четных индексов на 2 позиции вправо. 2) Дано одномерный массив, осуществить...

Сдвиг ячейки памяти в массиве с вычитанием указателей - C++
Возник вопрос вот пример: int m = {1, 2, 3, 4, 5} int *p = &amp;m ; // Это получается адрес начала массива. int *q = &amp;m ; //...


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

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

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