Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194

Сдвиг массива вправо

21.09.2022, 16:30. Показов 8644. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из методички:
Решение задачи будет состоять из двух этапов - сдвиг и вставка. Вначале сдвигаем массив А на 1 позицию вправо. "Формула" сдвига вправо запишется следующим оператором присвоения A[i+1]= A[i], где i меняется от k-1 до 0 с шагом -1. После сдвига массива элемент A0 будет равен элементу A1, необходимо выполнить вставку значения B в нулевую позицию массива. На C++ алгоритм запишется в виде:

for (i=n-1;i>=0;i--)
A[i+1]=A[i];
A[0]= B; // после сдвига массива элемент A[0] получит значение B
n=n+1;

Мой код:
C++
1
2
3
4
5
6
7
8
9
10
     cout<<"Массив B""\n";
     for (i=0; i<kB; i++)
      cout <<B[i]<<" ""\n";
      }
       cout<<"Сдвиг массива B"<<endl;
  //   for (i=N-1;i>=0;i--)
     B[i+1]=B[i];
     cout <<B[i]<<endl;
     N=N+1;
 return 0;
Мой код работает совсем не так как ожидалось. Подскажите в чем ошибка?

Добавлено через 13 минут
Мне нужно реализовать только сдвиг, вставка не нужна
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2022, 16:30
Ответы с готовыми решениями:

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

Сдвиг массива вправо на K позиций
Даны натуральные числа N, K и массив из N целых чисел. Требуется, не используя дополнительные массивы, циклически сдвинуть элементы...

Циклический сдвиг массива вправо
дан двумерный массив MxN нужно осуществить поэлементный сдвиг вправо на 1 элемент

22
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194
22.09.2022, 09:19  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Croessmah Посмотреть сообщение
На первой итерации получаем B[N] = B[N-1] - это точно то, чего вы хотите?
Давайте так. Я хочу поставить последний элемент массива на первую позицию. Те циклический сдвиг.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
22.09.2022, 09:51
Цитата Сообщение от sansan Посмотреть сообщение
Те циклический сдвиг.
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
#include  <stdio.h>
 
//O(N)
void rotate(int * begin, int * first, int * end)
{
    while (begin != first && first != end) {
        int * beginCopy = first;
        for (; begin != first && beginCopy != end; ++begin, ++beginCopy) {
            int t = *begin;
            *begin = *beginCopy;
            *beginCopy = t;
        }
        if (begin == first) {
            first = beginCopy;
        }
    }
}
 
 
int main(void)
{
    int arr[] = {
        1, 4, 6, 7, 8, 9, 5
    };
    int k = 3;
    unsigned const size = sizeof(arr)/sizeof(*arr);
    rotate(arr, arr + k, arr + size);
    for (unsigned i = 0; i < size; ++i) {
        printf("%d, ", arr[i]);
    }
    
    return 0;
}
0
8 / 6 / 2
Регистрация: 02.04.2020
Сообщений: 164
22.09.2022, 13:09
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Что такое n в этом коде?
в моём коде это типа максимальный размер масива. он был не описал что за N и как по мне это походу размер масиваю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.09.2022, 13:09

круговой сдвиг массива вправо
Напишите программу которая принимает двухмерный массив целых чисел и количество сдвигов и выполняет круговой сдвиг массива вправо. ...

Сдвиг массива вправо на 1 элемент
Скажите пожалуйста что я сделал не так? У меня вместо последней цифры отображает что-то непонятное... Заранее спасибо! #include...

Рекурсия: циклический сдвиг массива вправо
дана такая задача (Напишите рекурсивную функцию, которая принимает двухмерный массив целых чисел и количество сдвигов и выполняет...

Циклический сдвиг динамического массива вправо
Подскажите, как выполнить циклический сдвиг в строке динамического массива на некоторое количество элементов вправо?

Циклический сдвиг массива влево и вправо
Нужно реализовать циклический сдвиг массива влево и вправо! Например есть массив int- {121605}? mass_len=6, нужно чтобы после сдвига...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru