Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/40: Рейтинг темы: голосов - 40, средняя оценка - 4.60
6 / 5 / 4
Регистрация: 14.01.2017
Сообщений: 294

Перенесите s-й элемент массива на место k-го элемента (s<k). При этом (s+1)-й, (s+2)-й, . , k-й элементы сдвинть влево

04.05.2018, 23:21. Показов 8225. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив a из n элементов. Перенесите s-й элемент массива на место k-го элемента (s<k). При этом (s+1)-й, (s+2)-й, ... , k-й элементы сдвинуть влево на 1 позицию.
Примеры
входные данные
5
4 5 3 1 2
2 4
выходные данные
4 3 1 5 2
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2018, 23:21
Ответы с готовыми решениями:

Массив: перенесите последний элемент массива на место k-го элемента
Дан массив a из n элементов. Перенесите последний элемент массива на место k-го элемента. При этом k-й, (k+1)-й, ... , предпоследний...

Удалить из массива элемент с индексом k, сдвинув влево все элементы, стоящие правее элемента с индексом k
Дан массив из N элементов и номер элемента в массиве k. Удалите из массива элемент с индексом k, сдвинув влево все элементы, стоящие...

Заменить все положительные элементы на наименьший элемент массива, удалив его при этом из массива
Для произвольно выбранной последовательности целых чисел, в которой не более 30 элементов, выполнить следующее задание: ввести эти числа в...

3
34 / 34 / 37
Регистрация: 21.06.2012
Сообщений: 152
05.05.2018, 08:05
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <vector>
#include <iostream>
#include <algorithm>
 
int main()
{
    constexpr size_t s = 2,
                          k = 4;
    if constexpr (s > k)
        return 1;
    std::vector<int> a{4, 5, 3, 1, 2};
    auto val = a.at(s-1); a.erase(a.cbegin() + s - 1);
    a.insert(a.cbegin() + k - 1, std::move(val));
    std::copy(a.cbegin(), a.cend(), std::ostream_iterator<int>(std::cout, " "));
 
    return 0;
}
0
6 / 5 / 4
Регистрация: 14.01.2017
Сообщений: 294
05.05.2018, 13:48  [ТС]
Выводит ошибки, в основном связанные с "constexpr"

Добавлено через 14 минут
Вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vector>
#include <iterator>
#include <iostream>
#include <algorithm>
 using namespace std;
int main()
{
    const size_t s = 2,
                          k = 4;
    if (s > k)
        return 1;
    std::vector<int> a{4, 5, 3, 1, 2};
    auto val = a.at(s-1); a.erase(a.cbegin() + s - 1);
    a.insert(a.cbegin() + k - 1, std::move(val));
    std::copy(a.cbegin(), a.cend(), std::ostream_iterator<int>(cout, " "));
 
    return 0;
}
Но у меня не получилось сделать ввод значений с клавиатуры, который требуется по условию
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
05.05.2018, 16:28
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
#include <iostream>
using namespace std;
 
int main()
{
    int n, s, k;
    cin >>n;
 
    double*a = new double[n], temp;
 
    for (int i = 0; i < n; i++)
    cin >>a[i];    
    cin >>s>>k;
    
    temp=a[s-1];
    for (int i = s-1; i < k-1; i++)
    a[i]=a[i+1];
    a[k-1]=temp;
    
    for (int i = 0; i < n; i++)      
    cout <<a[i]<<" ";      
    cout <<endl;
    delete[]a;
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.05.2018, 16:28
Помогаю со студенческими работами здесь

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

Удалить из квадратной матрицы главную диагональ, при этом элементы верхнего треугольника сместить влево
void removeDiagT (Matrix *a); Удаляет из квадратной матрицы a главную диагональ, при этом элементы верхнего треугольника смещаются влево....

Массив: Сдвинуть циклически влево элементы массива А(на 1 элемент)
Создать массив А из N. N ввести с клавиатуры , N&lt;15. Сдвинуть циклически влево элементы массива А(на 1 элемент). Первый элемент записать...

Удалите из массива элемент с индексом k, сдвинув влево все элементы
1. Дан массив из N элементов и номер элемента в массиве k. Удалите из массива элемент с индексом k, сдвинув влево все элементы, стоящие...

Переставить последний элемент массива на место k-ого элемента
Переставить последний элемент массива на место k-ого элемента. При этом k-ый , (k+1)-й..., предпоследний элементы сдвинуть вправо на одну...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru