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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.79
Vernblum
0 / 0 / 0
Регистрация: 10.07.2013
Сообщений: 6
#1

Осуществить циклический сдвиг элементов массива влево на одну позицию - C++

11.07.2013, 11:41. Просмотров 3466. Ответов 6
Метки нет (Все метки)

Помогите, пожалуйста, решить программы на си++, если не решу мне хана, заранее спасибо:
Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию(при этом АN перейдет в АN-1, АN-1 - в АN-2, А1 - в АN)(обработка одномерных массивов).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2013, 11:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Осуществить циклический сдвиг элементов массива влево на одну позицию (C++):

Осуществить циклический сдвиг элементов массива вправо на одну позицию - C++
4Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на одну позицию (при этом A 1 перейдет в A 2 , A 2 — в A 3 ,...

Одномерные массивы (циклический сдвиг всех элементов массива на одну позицию влево) - C++
Написать программу, которая делает циклический сдвиг всех элементов массива а1, а2, ..., аn на одну позицию влево, то-есть будет получен...

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

Циклический сдвиг элементов массива влево - C++
Совершить циклический сдвиг элементов массива влево так, чтобы первый максимальный элемент был на K-месте ( K- вводиться с клавиатуры)

Осуществить сдвиг элементов массива влево на K позиций - C++
Дан массив размера N и целое число K (1 ≤ K < N). Осуществить сдвиг элементов массива влево на K позиций (при этом AN перейдет в AN–K, AN–1...

Осуществить циклический сдвиг элементов массива - C++
Здравствуйте! Имеется задача: "Дан массив размера N и число k (0 < k < 5, k < N). Осуществить циклический сдвиг элементов массива влево на...

6
Valentina
68 / 68 / 3
Регистрация: 13.05.2012
Сообщений: 130
11.07.2013, 11:54 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include<conio.h>
using namespace std;
const int n=11;
int main() 
{ 
    setlocale(LC_CTYPE,"rus");
    int temp;
    int arr[n]={0,1,2,3,4,5,6,5,7,8,9};
    temp = arr[0];
    for (int i = 0; i < n; i++)
        arr[i] = arr[i + 1];
    arr[n - 1] = temp;
    for(int i=0;i<n;i++)
    {
        cout<<arr[i]<<endl;
    }
 system("pause"); 
 return 0; 
 }
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.07.2013, 11:56 #3
Цитата Сообщение от Valentina Посмотреть сообщение
C++
1
2
    for (int i = 0; i < n; i++)
        arr[i] = arr[i + 1];
аккуратнее с границами массива:
C++
1
2
    for (int i = 0; i < n - 1; i++)
        arr[i] = arr[i + 1];
0
Valentina
68 / 68 / 3
Регистрация: 13.05.2012
Сообщений: 130
11.07.2013, 12:21 #4
почему, там все правильно. У нас же не
C++
1
for (int i = 0; i <= n; i++)
, а
C++
1
for (int i = 0; i < n; i++)
если следовать вашему коду, то мы теряем один элемент
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.07.2013, 12:23 #5
у вас там arr[i + 1] стоит, не забывайте
0
ValeryS
Модератор
6654 / 5063 / 470
Регистрация: 14.02.2011
Сообщений: 16,930
11.07.2013, 12:30 #6
Vernblum,
поиском то вообще не пользуемся?
недавно тема была
Функция сдвига массива
100500 алгоритмов предложили
лично я два
плюс _Faeton_
плюс Thinker

Добавлено через 1 минуту
Valentina,
тебе интересно будет посмотри
предложенное тобой решение оптимально при сдвиге на 1 а при большем сдвиге цикл в цикле
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
11.07.2013, 12:40 #7
std::rotate
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2013, 12:40
Привет! Вот еще темы с ответами:

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

Циклический сдвиг элементов массива по диагонали влево вниз - C++
Квадратный массив N×N по диагонали влево вверх. //--------------------------------------------------------------------------- ...

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

Осуществить циклический сдвиг элементов одномерного массива на k позиций - C++
работает правильно только если k=1 если больше то сдвиг делает правильно, но когда на место их переносит числа путает их, что не так? ...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
11.07.2013, 12:40
Ответ Создать тему
Опции темы

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