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

Циклический сдвиг массива влево и вправо - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание объекта произвольного класса по указателю на базовый класс http://www.cyberforum.ru/cpp-beginners/thread717126.html
Есть некий абстрактный базовый класс . Мы знаем , что от этого базового класса будет образовано несколько конкретных производных классов .Они будут реализововаться отдельно(про них мы ничего не знаем и с ними работать не можем ) .Нужно написать функцию , которая получает указатель на базовый класс (которому указывает на один из наших производный ) , и создает объект производного класса ,а...
C++ Программа вылетает с ошибкой начал читать Б. Страуструпа "Программирование. Принципы и практика использования C++" Пробую пример из текста и при запуске вылетает с ошибкой времени выполнения: даж при дебаге ставлю точку останова на объявлении векторов - все равно вылетает IDE - Qt Creator 2.4.1 проэкт без Qt-шных библиотек #include <iostream> #include <vector> #include <algorithm> http://www.cyberforum.ru/cpp-beginners/thread717114.html
Ошибка на этапе компиляции C++
Добрый вечер. Ребят помогите, не могу понять в чем дело. Есть программа в которой описан 1 класс (работа с пользователями) Всё нормально работало до тех пор пока я не разделил программу на реализацию и интерфейс. появилась одна ошибка - на этапе выполнения. Пишет что функция не берет 1 аргумент. Если конкретней то: у меня есть 2 метода : 1-й запись в бинарный файл 2-й
Поменять местами первый и последний ряды матрицы C++
Разработать матрицу X(6,6) Поменять местами первый и последний ряды. заранее благодарен.
C++ Не пойму как реализовать такой массив=) (формирование массива сумм) http://www.cyberforum.ru/cpp-beginners/thread717108.html
Заданий масив C(30). сложить программу формирования масива сумм: B(1)=C(1)+C(6)+C(11)+...+C(26) B(2)=C(2)+C(7)+C(12)+...+C(27) Добавлено через 20 минут Ребята срочнооо=)) Помогите=))
C++ Как вызвать метод "верхнего" из вложенного класса class Fraction{ friend class Calk; long int a; unsigned short int b; public: void Read( Fraction &a, Fraction &b, int a_1,int e_1,int b_1,int d_1){ a.a=a_1; a.b=e_1; b.a=b_1; подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
03.12.2012, 13:02     Циклический сдвиг массива влево и вправо
PlayaRC,ниже пример с массивом
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
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <algorithm>
using namespace std;
 
void out_vec(int n, int * vec);
void shift_array(int n, int *arr);
void shift_three(int * vec);
 
int main()
{
    int arr[]= {1,2,1,6,0,5,7,8,9,12,13,15};
    
    int n = sizeof(arr)/sizeof(arr[0]);
    cout<<"Input array : "<<endl;
    out_vec(n, arr);
    
    cout<<"Shift1 array : "<<endl;
    shift_array(n, arr); 
    out_vec(n, arr);
    cout<<"Shift2 array : "<<endl;
    shift_array(n, arr); 
    out_vec(n, arr);
    cout<<"Shift3 array : "<<endl;
    shift_array(n, arr); 
    out_vec(n, arr);
    return 0;
}
 
void out_vec(int n, int * vec)
{
    for(int j = 0; j < n; j++)
        cout<<vec[j];
    cout<<endl;
}
 
void shift_three(int * vec)
{
    swap(vec[0], vec[1]);//2-Г© Г± 1-Г¬
    swap(vec[1], vec[2]);//2-Г© Г± 3-Г¬
}
 
void shift_array(int n, int *arr)
{
    int vec[3] = {0};
    for(int i = 0; i < n; i += 3)
    {
        vec[0] = arr[i];
        vec[1] = arr[i + 1];
        vec[2] = arr[i + 2];
        shift_three(vec);
        arr[i]     = vec[0];
        arr[i + 1] = vec[1];
        arr[i + 2] = vec[2];
    }
}
http://codepad.org/KUnBle6N

Output:
Input array :
121605789121315
Shift1 array :
211056897131512
Shift2 array :
112560978151213
Shift3 array :
121605789121315
Миниатюры
Циклический сдвиг массива влево и вправо  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru