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

Замещение первой половины строки второй, а второй – первой

10.04.2020, 08:19. Показов 2634. Ответов 8

Студворк — интернет-сервис помощи студентам
Написать программу замещения первой половины строки второй, а второй – первой.
Нужно сделать через char
У меня есть через string(нужно что бы я вводил любую строку включая и буквы и цифры и пробелы)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a;
char temp;
getline(cin, a);
for (int i = 0; i < a.size() / 2; ++i) {
if(a[i] == ' ') continue;
temp = a[i];
a[i] = a[a.size() / 2 + i];
a[a.size() / 2 + i] = temp;
}
cout<<a;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.04.2020, 08:19
Ответы с готовыми решениями:

Поменять местами элементы первой половины массива с элементами второй половины
Сформировать массив А из 20 случайных целых чисел в диапазоне от минус 30 до 30. Напечатать его. Поменять местами 0 элемент массива с...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой.
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой. ...

8
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13183 / 6819 / 1821
Регистрация: 18.10.2014
Сообщений: 17,259
10.04.2020, 08:42
Цитата Сообщение от Em1k22 Посмотреть сообщение
Написать программу замещения первой половины строки второй, а второй – первой.
А если строка нечетной длины, то что тогда?

Цитата Сообщение от Em1k22 Посмотреть сообщение
У меня есть через string
Попробовал "abcde". Получил "cdabe". Что это за "замещение половины" такое?
0
0 / 0 / 0
Регистрация: 22.03.2020
Сообщений: 9
10.04.2020, 08:48  [ТС]
да,с нечетным количеством у меня не корректно работает

Добавлено через 2 минуты
мне надо что бы любые символы которые я бы не ввел просто поменялись местами первая часть со второй
0
0 / 0 / 0
Регистрация: 22.03.2020
Сообщений: 9
10.04.2020, 08:50  [ТС]
вот так
Изображения
 
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13183 / 6819 / 1821
Регистрация: 18.10.2014
Сообщений: 17,259
10.04.2020, 08:53
Цитата Сообщение от Em1k22 Посмотреть сообщение
мне надо что бы любые символы которые я бы не ввел просто поменялись местами первая часть со второй
Еще раз повторяю вопрос: если строка нечетной длины, то что тогда делать?
0
0 / 0 / 0
Регистрация: 22.03.2020
Сообщений: 9
10.04.2020, 08:54  [ТС]
тогда центральный элемент на месте остаться должен
0
0 / 0 / 0
Регистрация: 22.03.2020
Сообщений: 9
11.04.2020, 07:57  [ТС]
актуально,так и не вышло сделать
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.04.2020, 09:23
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main(){
  string s,t;
  int len;
 
  getline(cin,s);
  len=s.length();
  len%2==0 ? t="" : t=s[len/2];
  s+=t;
  size_t i=0;
  while(i<len/2)
     s+=s[i++];
  len%2==0 ? s.erase(0,len/2) :s.erase(0,len/2+1);
  cout<<s;
  system("pause");
  return 0;
}
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
11.04.2020, 11:09
Лучший ответ Сообщение было отмечено Em1k22 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main(){
    const int N = 255;
    char S[N];
 
    cin.getline(S,N);
 
    int len = strlen(S);
    int half = len / 2;
    int dx = half + len % 2;  //смещение вправо на 1 при нечётной длине строки
 
    for (int i=0; i<half; i++){
        swap(S[i],S[i+dx]);
    }
 
    cout << S << '\n';
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.04.2020, 11:09
Помогаю со студенческими работами здесь

Преобразовать массив: сумма элементов первой половины должна быть как можно ближе к сумме элементов второй половины
Преобразуйте одномерный массив таким образом,чтобы сумма элементов в его первой половине была бы как можно ближе к сумме элементов его...

Сортировка первой половины массива по возрастанию, а второй по убыванию
Здравствуйте, помогите пожалуйста. Дан массив А, состоящий из 20 целых чисел. Отсортируйте первую половину массива по возрастанию, а...

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

Сортировка элементов первой половины одномерного массива по убыванию, а второй – по возрастанию
Добрый Вечер!!!Пожалуйста помогите решить задачу на Шаблоны Функций: Разработайте программу, в которой реализована сортировка элементов...

Двоичные файлы: Переписать элементы первой половины файла в обратном порядке, а второй в исходном
Переписать элементы первой половины файла в обратном порядке, а второй в исходном. Помогите пожалуйста((


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru