Форум программистов, компьютерный форум CyberForum.ru

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

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

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

21.02.2010, 17:48. Просмотров 1525. Ответов 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++, надо срочно, заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2010, 17:48     Кольцевой сдвиг в массиве
Посмотрите здесь:

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 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;
}
J_Max
Заблокирован
21.02.2010, 18:09  [ТС]     Кольцевой сдвиг в массиве #3
надеюсь препод поверит
Поверит, куда он денется.

Добавлено через 1 минуту
Как хорошо что на форуме есть знающие люди, спасибо тебе большое.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2010, 22:48     Кольцевой сдвиг в массиве
Еще ссылки по теме:

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

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

Работа с битами. Сдвиг бит в массиве переменных. О как - C++
Всем привет.. Задача такая.. Есть небольшой массив (пусть будет размер три) Добавлено через 11 минут Всем привет.. Задача такая.. ...

Каким образом осуществить циклический сдвиг на К элементов вправо в массиве? - C++
Объясните пожалуйста ход решения задачи: : В массиве A(N) осуществите циклический сдвиг на K элементов вправо (K &lt; N): последние K...

Проверить, как организована память в двумерном массиве. Сделать сдвиг вправо для каждой строчки двумерного мас - C++
Проверить, как организована память в двумерном массиве. Сделать сдвиг вправо для каждой строчки двумерного массива, используя указатели.

Как происходит циклический сдвиг (как сдвинуть элементы в массиве) - C++
Задан массивы действительных чисел а1, а2,…,а20. Сдвинуть циклическим сдвигом все его элементы так, чтобы минимальный элемент стоял на...


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

Или воспользуйтесь поиском по форуму:
ksenyakor
0 / 0 / 0
Регистрация: 18.06.2010
Сообщений: 11
24.06.2010, 22:48     Кольцевой сдвиг в массиве #5
а можете на паскале написать кольцевой сдвиг? мы С++ еще не изучали,я ничего не поняла.
заранее спасибо!
Yandex
Объявления
24.06.2010, 22:48     Кольцевой сдвиг в массиве
Ответ Создать тему
Опции темы

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