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

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

18.06.2013, 20:22. Показов 2157. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть массив с n-ным колличеством элементов. Нужно сдвинуть значение каждого элемента вправо на один, а первый и последний элемент поменять местами.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2013, 20:22
Ответы с готовыми решениями:

Выполнить циклический сдвиг всех элементов массива на один вправо начиная с последнего нулевого элемента
Дан линейный массив на N элементов. Выполнить циклический сдвиг всех его элементов на один вправо...

Выполнить циклический сдвиг всех элементов массива на один вправо начиная с первого нулевого элемента
Дан линейный массив на N элементов. Выполнить циклический сдвиг всех его элементов на один вправо...

Поменять местами значение первого четного элемента массива со значением последнего нечетного элемента массива.
Дан массив С(30). Поменять местами значение первого четного элемента массива со значением...

Поменять местами значение первого четного элемента массива со значением последнего нечетного элемента массива
34. Дан массив С(30). Поменять местами значение первого четного элемента массива со значением...

3
С++ Beginner
120 / 120 / 77
Регистрация: 28.02.2013
Сообщений: 246
18.06.2013, 22:09 2
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
#include <iostream>
#include <iomanip>
 
int main() {
  setlocale(0, "");
  
  int a[] = {3, 5, 7, 1, 2, 3, 4, 5};
  
  static const int n = sizeof a / sizeof *a;
  
  std::cout << "Массив: " << std::endl;
  
  for(int i = 0; i != n; ++i)
    std::cout << std::setw(3) << a[i];
  
  int tmp = a[n - 1];
  
  for(int i = n - 1; i > 0; --i)
    a[i] = a[i - 1];
  
  a[0] = tmp;
  
  std::cout << "\nПосле сдвига: " << std::endl;
  
  for(int i = 0; i != n; ++i)
    std::cout << std::setw(3) << a[i];
 
  
  return 0;
}
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
18.06.2013, 22:29 3
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int A[100];
 
int main()
{
srand(time(NULL));
int i,temp,N=100;
cout<<"Enter N\n";
cin>>N;
// инициализация массива
for (i =0; i < N; i++)
{
    A[i]= rand() % 100;
cout <<A[i]<<", ";
}
cout << "\n\n";
// сдвиг массива вправо
for (i =0; i < N; i++)
   temp= A[i];
   {
        for(i=N-1; i> 0; i--)
           A[i]= A[i-1];
           A[0]= temp;
   }
// вывод массива
for(i=0; i<N; i++)
cout <<A[i]<<", ";
return 0;
}
Про поменять местами не совсем понял.
0
0 / 0 / 2
Регистрация: 25.04.2013
Сообщений: 11
19.06.2013, 10:01 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <ctime>
 
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus");
 
    int n,buf=0;
    cout << "Введите количество элементов: ";
    cin >> n;
 
    int *mas= new int [n];
    srand(time(NULL));
 
    for (int i=0; i<n; i++) //рандомим массив
    {
     mas[i]=0+ rand()%100;
    }
    system("cls");
    cout << "\t\t\tЭлементы массива" << "\n" <<endl;
 
    for (int i=0; i<n; i++) //выводим полученный массив
     cout << setw (4) << mas[i];
    
   for (int i=n-1; i> 0; --i) //сдвигаем каждый элемент в право на 1
           mas[i]= mas[i-1];
 
  buf=mas[n-1]; // меняем 1ый элемент массива с последним
  mas[n-1]=mas[0];
  mas[0]=buf;
 
    cout << endl << endl;
    cout << "\tОтсортированный массив, первый и последний элемент поменяли местами";
    cout << endl << endl;
    
    for (int i=0; i<n; i++) //выводим полученный массив
    {
     cout << setw (4) << mas[i];
    }
 
cout << endl << endl;
    system("pause");
    return 0;
}
0
19.06.2013, 10:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2013, 10:01
Помогаю со студенческими работами здесь

Поменять местами значение первого четного элемента массива со значением последнего нечетного
31. Дана линейная таблица, состоящая из 20 элементов. Тре¬буется определить, сколько элементов...

Поменять местами значения первого и последнего элементов массива
8. Составьте программу перемены местами в массиве первого и последнего элементов. помогите...

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k-...

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k – индекс максимального элемента
Помогите пожалуйста решить эту задачу, Дан массив размера N. Осуществить циклический сдвиг...


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

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