Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 26.09.2017
Сообщений: 26
1

Сдвиг элементов в массиве

24.12.2017, 13:58. Показов 932. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Преобразовать массив, каждому элементу, присваивая значение соседнего с ним справа. Последнему элементу присвоить значение первого.
Есть функция сдвига, как мне это все вывести?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void right(int a[], int N)
{ 
    int k = a[0], i;
    for (int i = 1; i<N; ++i) 
        a[i-1] = a[i];
    a[N - 1] = k;
    
}
 
 
void main()
{
    setlocale(LC_ALL, "Rus");
    int a[6] = { 1, 2, 3, 4, 5, 6 };
    int N = 6;
    right(a, N);
 
    _getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2017, 13:58
Ответы с готовыми решениями:

Дано одномерный массив Х, размером 15 элементов. Провести циклический сдвиг элементов в массиве вправо на 2 позиции
Дано одномерный массив Х, размером 15 элементов. Провести циклический сдвиг элементов в массиве...

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

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

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

5
2 / 2 / 0
Регистрация: 12.12.2017
Сообщений: 33
24.12.2017, 14:02 2
Код
#include <iostream>
using namespace std;
void right(int a[], int N)
{ 
    int k = a[0], i;
    for (int i = 1; i<N; ++i) 
        a[i-1] = a[i];
    a[N - 1] = k;   
}

void output(int a[], int N){
    for (int i = 0; i < N; ++i){
        cout << a[i];
    }
}
 
 
int main()
{
    setlocale(LC_ALL, "Rus");
    int a[6] = { 1, 2, 3, 4, 5, 6 };
    int N = 6;
    right(a, N);
    output(a, N);
    
    system("pause");
    return 0;
 
}
P.S Вроде так (Вывод 234561)
0
1 / 1 / 0
Регистрация: 26.09.2017
Сообщений: 26
24.12.2017, 14:14  [ТС] 3
Спасибо! Не подскажешь, как мне еще вывести отдельно последние элементы, эти 61?
0
2 / 2 / 0
Регистрация: 12.12.2017
Сообщений: 33
24.12.2017, 14:51 4
Код
#include <iostream>
using namespace std;
void right(int a[], int N)
{ 
    int k = a[0], i;
    for (int i = 1; i<N; ++i) 
        a[i-1] = a[i];
    a[N - 1] = k;   
}

void output(int a[], int N){
    for (int i = 0; i < N; ++i){
        cout << a[i] << " ";
    }
    cout << endl;
    cout << a[5] << endl;
    cout << a[4] << endl;
}
 
 
int main()
{
    setlocale(LC_ALL, "Rus");
    int a[6] = { 1, 2, 3, 4, 5, 6 };
    int N = 6;
    right(a, N);
    output(a, N);
    
    system("pause");
    return 0;
 
}
Выводит (2 3 4 5 6 1
1
6)
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.12.2017, 15:32 5
five0f, уточните: в задания сказано что элементов в массиве именно 6; что элементы являются целыми числами; просто вывести или вывести через новую функцию.
0
1 / 1 / 0
Регистрация: 26.09.2017
Сообщений: 26
24.12.2017, 17:25  [ТС] 6
Именно 6 элементов. Вывести через новую функцию
0
24.12.2017, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2017, 17:25
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru