0 / 0 / 0
Регистрация: 21.11.2016
Сообщений: 19
1

Осуществить циклический сдвиг элементов массива вправо на одну позицию

24.12.2016, 20:37. Показов 12315. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
4Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на одну позицию (при этом A 1 перейдет в A 2 , A 2 — в A 3 , ..., A N — в A 1 ).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2016, 20:37
Ответы с готовыми решениями:

Осуществить циклический сдвиг элементов массива влево на одну позицию
Помогите, пожалуйста, решить программы на си++, если не решу мне хана, заранее спасибо: Дан массив...

Дан массив размера N. Осуществить сдвиг элементов массива вправо на одну позицию (при этом A1 перейдет в A2, A2 — в A3,
Дан массив размера N. Осуществить сдвиг элементов массива вправо на одну позицию (при этом A1...

Осуществить циклический сдвиг элементов массива вправо на k позиций
Решаю задачи на сервере одном, задание было "Дан массив размера N ≥ 2 и число k (0 < k <...

Циклический сдвиг элементов массива влево на одну позицию
Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию (при...

3
187 / 54 / 19
Регистрация: 23.12.2016
Сообщений: 165
24.12.2016, 23:00 2
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 "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "russian");
    int a,b;
    cout << "Введите количество элементов массива";
    cin >> a;
    int *massiv1;
    massiv1 = new int[a];
    
    
    for (int i = 0; i < a; i++)// заполняем массив
    {
        massiv1[i] = rand() % 100;
    }
    
    
    for (int i = 0; i < a; i++) //сдвигаем а раз для наглядности 
    {
        b = massiv1[a - 1];// вспомогательная переменная
        for (int j = a-1; j >0; --j)//собственно сдвиг 
        {
            massiv1[j] = massiv1[j - 1];
        }
        massiv1[0] = b;
        for (int j = 0; j < a; j++)//печатаем
        {
            cout << massiv1[j] << "\t";
        }
        cout << endl;
    }
    _getch();
    delete[] massiv1;
    return 0;
}
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
25.12.2016, 13:17 3
ye23, вот мой вариант. Впрочем, они совпадают.

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int N, t;
    cout << "Введите размер массива:" << endl;
    cout << "N = ";
    cin >> N;
    int* A = new int[N];
    cout << "Введите массив:" << endl;
    for (int i = 0; i < N; i++)
    {
        cin >> A[i];
    }
    t = A[N-1];
    for (int i = N - 1; i >= 0; i--)
    {
        A[i] = A[i-1];
    }
    A[0] = t;
    cout << "Массив после сдвига элементов:" << endl;
    for (int i = 0; i < N; i++)
    {
        cout << A[i] << " ";
    }
    cout << endl;
    delete[] A;
    system("pause");
    return 0;
}
0
424 / 228 / 87
Регистрация: 25.03.2009
Сообщений: 744
25.12.2016, 13:33 4
ye23,
НЕ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <vector>
 
int main()
{
    std::vector <int> v{ 1,2,3,4,5 };
    std::rotate(v.rbegin(), v.rbegin() + 1, v.rend());
 
    for (auto k : v)
    {
        std::cout << k << ' ';
    }
 
    std::cin.get();
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2016, 13:33
Помогаю со студенческими работами здесь

Одномерные массивы (циклический сдвиг всех элементов массива на одну позицию влево)
Написать программу, которая делает циклический сдвиг всех элементов массива а1, а2, ..., аn на одну...

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k-...

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k – индекс максимального элемента
Помогите пожалуйста решить эту задачу, Дан массив размера N. Осуществить циклический сдвиг...

Осуществить циклический сдвиг массива вправо на m позиций
Разработать алгоритм и программу. Дан одномерный массив С размерностью 1хn (1&lt;=n&lt;=20). Элементы...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru