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

Сдвинуть элементы массива циклически на n позиций вправо. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить количество отрицательных элементов, расположенных вы-ше главной диагонали матрицы. http://www.cyberforum.ru/cpp-beginners/thread86396.html
спасибо заранее
C++ Указатель на констансное значение Я в указателях не особо шарю Вот инициализирую *mas и заполняю его числами компилятор почему то выдает ошибку Помогите разобраться Заранее спасибо int main() { int* mas={1,6,4,9}; } Выдает ошибку error C2440: инициализация: невозможно преобразовать 'int' в 'int *' http://www.cyberforum.ru/cpp-beginners/thread86388.html
Ввести матрицу размером NxM. C++
12. Найти в каждом столбце матрицы минимальный элемент. #include <iostream.h> #include <iomanip.h> #include <math.h> int main()
C++ Найти и поменять местами элементы, имеющие минимальное и максимальное значения в массиве
#include <iostream.h> #include <math.h> int main() { int
C++ Ввести одномерный статический массив из k чисел http://www.cyberforum.ru/cpp-beginners/thread86380.html
Ввести одномерный статический массив из k чисел. Расположить элементы массива в обратном порядке.
C++ Рекурсия Привет всем, помогите пожлуйста доделать прогу на рекурсию. Вот смысл задчи: Необходимо угадать число с интервала от 0 до н-1. Вот то что я написал: #include <iostream.h> int nn, n; void chislo (int, int); void chislo (int n, int nn) { int a, c; a=(nn-n)/2; cout<<"Vashe chislo menshe "<<a<<"?"<<endl; cin>>c; подробнее

Показать сообщение отдельно
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
16.01.2010, 13:36     Сдвинуть элементы массива циклически на n позиций вправо.
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
56
57
58
59
60
61
62
63
64
65
66
// Циклический сдвиг одномерного массива или строки
 
// итак, нужно преобразовать массив ab в bа. 
// Предположим, что у нас есть функция reverse, 
// переставляющая элементы некоторой части массива в 
// противоположном порядке. В исходном состоянии массив имеет 
// вид ab. Вызвав эту функцию для первой части, получим аrb 
// (прим. редактора:аr - это модифицированная часть a, к которой 
// применили фукнцию перестановки reverse). Затем вызовем ее для 
// второй части: получим аrbr. Затем вызовем функцию для всего 
// массива, что даст (аrbr)r, а это в точности соответствует bа. 
// Посмотрим, как будет такая функция действовать на массив abcdefgh, 
// который нужно сдвинуть влево на три элемента:
// псевдокод: Сдвиг через функцию перестановки reverse   ссылка
// reverse(0, i-1)   /* cba|defgh */
// reverse(i, n-1)   /* cba|hgfed */
// reverse(0, n-1)   /* defgh|abc */
 
#include <iostream>
#include <time.h>
 
 
#define   randomize() srand(time(NULL))
#define   SIZE        10
 
using namespace std;
void Reverse(int *begin, int *end)
{ 
    int temp;
    while (end>begin)
    {
        temp = *begin;
        *begin = *end;
        *end = temp;
        begin++; end--;
    }
} // end Reverse
 
int main()
{
    int A[SIZE];
    int i;
 
    for (i=SIZE; --i>=0;)
        A[i]=i; //rand()%10;
 
    cout<<"A"<<endl;     /// вывод
    for (i=0; i<SIZE; i++)
        cout<<A[i]<<' ';
    cout<<endl;
 
    //////////////////////////////////////////////////////////////////////////
    // сам циклический сдвиг на i элементов
    cout<<"number shift: "; cin>>i;
    Reverse(&A[0], &A[i-1]);
    Reverse(&A[i], &A[SIZE-1]);
    Reverse(&A[0], &A[SIZE-1]);
    //////////////////////////////////////////////////////////////////////////
 
    cout<<"revA"<<endl;     /// вывод
    for (i=0; i<SIZE; i++)
        cout<<A[i]<<' ';
 
    cout<<endl; system("PAUSE");
    return 0;
} // end main
 
Текущее время: 02:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru