С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
#1

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

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

Есть массив с n-ным колличеством элементов. Нужно сдвинуть значение каждого элемента вправо на один, а первый и последний элемент поменять местами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 20:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сдвиг элементов массива вправо и смена местами первого и последнего элемента (C++):

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

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

Найти сумму первого максимального элемента массива А и последнего минимального элемента массива В - C++
Вот задание : Даны целочисленные массивы А и В. Найти сумму первого максимального элемента массива А и последнего минимального элемента...

Сдвиг элементов массива вправо - C++
Добрый вечер всем. У меня возник такой вопрос. Можно ли сдвинуть элементы массива вправо на одну позицию, при это цикл начинать не с...

Подскажите, как сделать сдвиг массива вправо для вставки нового элемента? - C++
// После каждого четного числа добавить число 0. const int n=10; int ar,k=n,t; for(int i=0;i<n;i++){ ar=rand()%10+1; ...

Цикличиский сдвиг элементов массива вправо на k позиций - C++
Дан массив размера N ≥ 2 и число k (0 < k < N). Осуществить циклический сдвиг элементов массива вправо на k позиций. Input Первая...

3
MarVaL
С++ Beginner
117 / 117 / 16
Регистрация: 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
Genn55
374 / 221 / 41
Регистрация: 26.12.2012
Сообщений: 726
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
Amedal
0 / 0 / 0
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 10:01
Привет! Вот еще темы с ответами:

Сдвиг элементов массива вправо на ону позицию - C++
Реализовать программу , осуществляющую сдвиг элементов массива вправо на ону позицию. Не могу составить алгоритм для программы.

Циклический сдвиг элементов массива вправо на К позиций - C++
Дан массив размера N и число К (0&lt;k&lt;5, K&lt;n) Осуществить циклический сдвиг элементов массива вправо на К позиций .

Осуществить сдвиг элементов массива вправо на k позиций - C++
Всем привет , помогите пожалуйста решить эту задачу на языке Си 9. Дан целочисленный массив размера N. Осуществить сдвиг вправо на k...

Произвести циклический сдвиг вправо элементов массива - C++
Люди в Си++ дуб дубом. Помагите очень надо. Вот текст задачи. Ввести одномерный целочисленный массив A, вывести его. Произвести...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.