Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 05.11.2019
Сообщений: 22

Поменять местами первую и вторую половину строки, причем так

15.03.2020, 22:37. Показов 3586. Ответов 4

Студворк — интернет-сервис помощи студентам
Помогите решить пожалуйста задачу!
Дана строка. Поменять местами первую и вторую половину строки, причем так, чтобы в первой половине порядок символов сохранился, а во второй половине изменился на обратный.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2020, 22:37
Ответы с готовыми решениями:

Поменять местами первую и вторую половину массива.
Помогите решить задачки!!! 1) Дан массив размера n. Поменять местами первую и вторую половину массива. 2)Дана матрица размера mхn.Найти...

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

Поменять местами первую половину строки со второй
Необходимо ввести с клавиатуры строку символов. Программа должна определить длину введенной строки, и если длина кратна 4, то первая часть...

4
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
16.03.2020, 00:43
StayTeeVone,
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
#include <iostream>
#include <cstring>
 
using namespace std;
 
void func(char *str) {
 
    size_t len = strlen(str);
    char *p1 = str;
    char *p2 = str + len / 2 + len % 2;
 
    for (size_t i = 0; i < len / 2; ++i) {
        swap(*p1++, *p2++);
    }
 
    p1 = str;
    p2 = str + len / 2 - 1;
    for (size_t i = 0; i < len / 4; ++i) {
        swap(*p1++, *p2--);
    }
}
 
int main() {
 
    char str0[] = "abcdefghijklmnopqrstuvwxyz";
    func(str0);
    cout << str0 << endl;
    char str1[] = "abcdefghijklm0nopqrstuvwxyz";
    func(str1);
    cout << str1 << endl;
}
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
16.03.2020, 01:26
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <algorithm>
#include <iostream>
#include <string>
 
template <typename T>
void mirror(T first, T last) {
    while (first < last) {
        std::swap(*(first++), *(--last));
    }
}
 
std::string transform(std::string str) {
    mirror(str.begin(), str.begin() + str.length() / 2);
    mirror(str.begin(), str.end());
    return str;
}
 
int main() {
    std::cout << transform("qwerty123456") << std::endl;
    std::cout << transform("qwerty-123456") << std::endl;
 
    return 0;
}
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
16.03.2020, 01:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string>
#include <iostream>
 
using namespace std;
 
int main() {
 
    string S = "1234567890";
 
    for (size_t i = 0; i < S.length()/2; i++) swap(S[i],S[i+S.length()/2]);
    reverse(S.begin() + S.length()/2, S.end());
 
    cout << S;
}
вход 1234567890
выход 6789054321
в левой половине порядок сохранился
в правой половине порядок наоборот
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
16.03.2020, 11:37
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <sstream>
using namespace std;
 
int main() {
   string s="1234567890";
   int l=s.length();
 
   for(int i=l/2-1;i>=0;i--)
          s+=s[i];
   s.erase(0,l/2);
   cout<<s;
   system("pause");
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2020, 11:37
Помогаю со студенческими работами здесь

Создать матрицу и поменять первую и вторую строки местами
в массиве создать матрицу и поменять первую и вторую строки местами что делаю не так? #include &lt;iostream&gt; #include...

В масиве А поменять местами первую и последнюю ,вторую и предпоследнюю строки и т.д
Помогите найти ошибку,почему не меняет Вот мой простенький код #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Поменять местами первую и вторую половину массива
Помогите решить задачки!!! Дан массив B размера 2n. 1)Поменять местами первую и вторую половину массива. 2) b,b,b,b,...,b,b

Поменять первую и вторую половину массива местами
Добрый вечер! Задан линейный массив А. Необходимо поменять первую и вторую половину массива местами. Если количество элементов нечетно, то...

Как поменять местами первую и вторую половину слова?
Короче, нужно поменять местами первую и вторую половину слова, в первом случае если известно количество букв, а во втором неизвестно. Все в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru