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

Выполнить циклическую перестановку элементов массива влево или вправо - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти три числа последовательности, сумма которых равняется некоторому числу http://www.cyberforum.ru/cpp-beginners/thread1310517.html
Помогите пожалуйста написать код задачи(Новичок). Даны целые числа m, a1, .... , a20. Найти три натуральных числа i, j, k, каждое из которых не превосходит двадцати, такие, что Ai+Aj+Ak = m. Если таких чисел нет, то сообщить об этом.
C++ Оператор присваивания по умолчанию #include <iostream> using namespace std; class Foo { private: int var; //int var = 17; public: /*Foo& operator=(const Foo& right) http://www.cyberforum.ru/cpp-beginners/thread1310505.html
C++ Ребят памогите решать упражнения
Вот пример и решение \sum_{i=0}^{n+m} {({i}^{2}+k)}^{2} #include <iostream> using namespace std; int main() { int n, m, k, s,i;
C++ Найти количество строк, среднее арифметическое элементов которых меньше заданной величины
Дана целочисленная прямоугольная матрица. Найти количество строк, среднее арифметическое элементов которых меньше заданной величины. Помогите пожалуйста сделать код программы.
C++ Разобрать код сдвига строки матрицы http://www.cyberforum.ru/cpp-beginners/thread1310479.html
Она сдвигает строки массива на k вниз. Но как это происходит в коде, не могу понять. void sdvig(float **mas, int N, int M,int k) { for(int g=0;g<k;g++) { for(int i=M-1;i>=0;i--)// цикл для прохода по столбцам(с последнего элемента) { float a=mas; for(int j=N-1;j>=0;j--) //цикл для прохода по строкам
C++ Класс библиотека и шаблоны Есть такой код: Library.h #ifndef LIBRARY_H #define LIBRARY_H #include <iostream> #include <queue> #include "Book.h" using namespace std; class Library { подробнее

Показать сообщение отдельно
sano32
65 / 62 / 24
Регистрация: 15.12.2010
Сообщений: 150
25.11.2014, 19:20     Выполнить циклическую перестановку элементов массива влево или вправо
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <cstdlib>
using namespace std;
 
void right(int (&a)[10]);
void left(int (&a)[10]);
void vivod(int (&a)[10]);
 
int main(int argc, char *argv[])
{
    int a[10];
    int i, k;
    char o, s;
    for(i=0; i<10; i++)
    {
        a[i] = rand()%20;
        cout << a[i] << " ";
    }
    cout << endl;
    cout << "Do you want a permutation?(y/n)\n";
    cin >> o;
    if (o=='y')
    {
        cout << "right or left(r/l)";
        for(;;)
        {
            cin >> s;
            if((s=='r')||(s=='l'))break;
            else cout << "right or left(r/l)";
        }
        switch(s)
        {
            case 'r': 
                right(a);
                vivod(a);
                break;
            case 'l': 
                left(a);
                vivod(a);
                break;
        }
    }
    
    cout << "Enter please K (0-9)";
    cin >> k;
    for(i=k; i<10; i++)cout << a[i] << " ";
    for(i=0; i<k; i++)cout << a[i] << " ";
    for(i=0; i<9; i++)
    {
        a[i] = a[i+1];
    }
    cout << endl;
    for(i=k; i>=0; i--)cout << a[i] << " ";
    for(i=7; i>k; i--)cout << a[i] << " ";
    cout << endl;
    
    
    return 0;
}
 
void vivod(int (&a)[10])
{
    int i;
    for(i=0; i<10; i++)cout << a[i] << " ";
    cout << endl;
}
 
void right(int (&a)[10])
{
    int i, t;
    t = a[9];
    for(i=9; i>=0; i--)
    {
        a[i] = a[i-1];
    }
    a[0] = t;
}
 
void left(int (&a)[10])
{
    int i, t;
    t = a[0];
    for(i=0; i<9; i++)
    {
        a[i] = a[i+1];
    }
    a[9] = t;   
}
только проверь у себя все еще раз.
 
Текущее время: 09:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru