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

Сдвинуть циклически элементы массива на К позиций вправо

27.05.2019, 19:33. Показов 2535. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В одномерном массиве,состоящем из n действительных элементов,запишите
- Сдвиньте циклически элементы массива на К позиций вправо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2019, 19:33
Ответы с готовыми решениями:

Сдвинуть элементы массива циклически на n позиций вправо
Здесь Надо исправить условия(код) на вправо!! #include <iostream> using namespace std; void...

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

Одномерный массив, Сдвинуть элементы массива циклически на n позиций вправо
#include <iostream> #include <iomanip> #include <math.h> #include <conio.h> using namespace...

Задан массив из k чисел. Сдвинуть элементы массива циклически на n позиций вправо
помогите исправить..не сдвигает а местами меняет(( Задан массив из k чисел. Сдвинуть элементы...

4
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
28.05.2019, 11:12 2
TheOnlyFirst,
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n,k;
 
    cout<<"n=";
    cin>>n;
    cout<<"k=";
    cin>>k;
 
    double *arr=new double [n];
 
    for(double *p=arr,i=0;p<arr+n;p++)
    {
        cout<<"arr["<<i++<<"]=";
        cin>>*p;
    }
 
    cout<<"\nYour array: ";
    for(double *p=arr;p<arr+n;p++)
    {
        cout<<*p<<" ";
    }
 
    for(double i=0, *p=arr;i<k;i++)
    {
        double tmp=*(p+n-1);
 
        for(int j=n-1;j>0;j--)
        {
            *(p+j)=*(p+j-1);
        }
 
        *p=tmp;
    }
 
    cout<<"\nNew array:  ";
    for(double *p=arr;p<arr+n;p++)
    {
        cout<<*p<<" ";
    }
 
    return 0;
}
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
28.05.2019, 13:34 3
C++
1
2
3
4
5
6
7
8
9
10
#include <algorithm>
using namespace std;
int main() {
    int a[] = { 1, 2, 3, 4, 5, 6 };
    int k = 2;
    reverse(begin(a), begin(a) + k);
    reverse(begin(a) +k, end(a));
    reverse(begin(a), end(a));
    return 0;
}
1
818 / 621 / 321
Регистрация: 24.02.2017
Сообщений: 2,199
28.05.2019, 15:24 4
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
#include <iostream>
#include <stack>
using namespace std;
int main() {
    double a[] = { 1, 2, 3, 4, 5, 6 };
    stack <double> s;
    int k = 2,c,d;
 
    c=sizeof(a)/sizeof(double)-k;
    while(--c>=0)
       s.push(a[c]);
    d=sizeof(a)/sizeof(double);
    c=sizeof(a)/sizeof(double)-k-1;
    while(--d>c)
       s.push(a[d]);
    for(int i=0;i<sizeof(a)/sizeof(double);i++){
          a[i]=s.top();
          s.pop();
          cout<<a[i]<<"  ";
    }
 
   system("pause");
   return 0;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
28.05.2019, 16:51 5
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n, K;
    cout << "n="; cin >>n;
 
    double*a = new double[n], temp;
 
    for (int i = 0; i < n; i++)
      {
      a[i]=0.1*(rand()%2001-1000);
      cout << a[i] << " ";
      }    
    
    cout << "\nShift K="; cin >> K;
    
    for (int j = 0; j < K; j++)
    {
    temp=a[n-1];
    for (int i = n-1; i > 0; i--)
    a[i]=a[i-1];
    a[0]=temp;
    }
    
    for (int i = 0; i < n; i++)
    cout << a[i] << " ";
    cout << "\n";
 
    delete[]a;
system("pause");
return 0;
}
0
28.05.2019, 16:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2019, 16:51
Помогаю со студенческими работами здесь

Элементы массива циклически сдвинуть на k позиций влево
Помогите пожалуйста написать программу!!!понимаю что все должно быть оч легко, но... В С++: 1. Дан...

Сдвинуть элементы массива вправо циклически на 1 шаг
Задан одномерный массив целых чисел длины n. Сдвинуть элементы массива вправо циклически на 1 шаг....

Все элементы массива X(30) циклически сдвинуть на n позиций влево
Все элементы массива X(30) циклически сдвинуть на n позиций влево при помощи указателей

Сдвинуть циклически элементы одномерного массива на k позиций влево
Тема и есть условие задачи... Сам же я застопорился на написании алгоритма сдвига :- #include...


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

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

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