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

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

Войти
Регистрация
Восстановить пароль
 
Assles
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 7
#1

Нужно инвертировать вторую половину строки. - C++

03.01.2013, 14:38. Просмотров 321. Ответов 3
Метки нет (Все метки)

1) нужно инвертировать вторую половину строки.

помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2013, 14:38     Нужно инвертировать вторую половину строки.
Посмотрите здесь:

Как сделать вторую половину ромба - C++
#include <iostream> using namespace std; void main () { for(int i=0; i<18; i++) { for(int j=18; j>i; j--) ...

Передать в массив I(5) вторую половину массива J(10). - C++
помогите:Передать в массив I(5) вторую половину массива J(10).

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

Отсортировать первую половину массива по возрастанию, а вторую по убыванию - C++
Программа не работает, помогите найти ошибку #include <cstdlib> #include <iostream> using namespace std; int irand(int a,int b)...

Отсортировать первую половину массива по возрастанию, а вторую по убыванию - C++
Дан массив из четного числа элементов. Отсортировать первую половину этого массива по возрастанию, а вторую по убыванию. Как мне решить эту...

Заполнить первую половину матрицы размером n*n единицами, а вторую - нулями - C++
2. Заполнить первую половину двумерного массива размерности n x n еденицами, а вторую 0 , выручите пожалуйста

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
03.01.2013, 14:51     Нужно инвертировать вторую половину строки. #2
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
void foo(char *arr, size_t size){
    for(int i=0;i<size/2;++i)
        std::swap(*(arr+i),*(arr+size-i-1));
}
 
 
int main(){
    char str[]="String ecrever";
    int len=strlen(str);
    std::cout<<"Source: "<<str<<"\n";
    foo(str+len/2,len-len/2);
    std::cout<<"Rezult: "<<str<<std::endl;
    return 0; 
}
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
03.01.2013, 15:32     Нужно инвертировать вторую половину строки. #3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
#include <algorithm>
 
int main(void)
{
    std::string str = "12345678";
    std::reverse(str.begin() + str.size() / 2, str.end());  
    std::cout << str << std::endl;
    return 0;
}
или
C++
1
std::reverse(s + strlen(s) / 2, s + strlen(s));
для строк в стиле си

Добавлено через 3 минуты
или
C++
1
2
for (int j = strlen(s), i = j-- / 2; i < j; ++i, --j)
        std::swap(s[i], s[j]);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2013, 15:18     Нужно инвертировать вторую половину строки.
Еще ссылки по теме:

Функция сортирующая первую половину массива по убыванию, а вторую - по возрастанию - C++
Написать функцию, которая сортирует первую половину массива по убыванию, а вторую - по возрастанию, используя сортировку простыми...

Заполнить первую половину двумерного массива единицами, а вторую нулями - C++
дано два масиви дійсних чисел заповнити першу половину двомірного масиву розмірності n x n одиницями а другу 0. Даны 2 массива...

Перенести четные элементы массива в первую его половину, а нечетные во вторую - C++
Помогите сделать преобразовать массив таким образом,что бы в первой его половине располагались элементы стоявшие в четных позициях, а во...

Переставить в первую половину элементы, расположенные на четных позициях, а во вторую – на нечетных - C++
Пользователь вводит элементы массива. Переставить в первую половину элементы, расположенные на четных позициях, а во вторую – на нечетных....

Оставить первую половину текста без изменений, а вторую записать в обратном порядке - C++
Дан текст: оставить первую половину текста без изменений , а вторую записать в обратном порядке

дан массив n элементов. напишите программу выводящую на экран сначала вторую половину, потом первую - C++
напишите плиз програмку дан массив n элементов. напишите программу выводящую на экран сначала вторую половину, потом первую


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

Или воспользуйтесь поиском по форуму:
Assles
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 7
08.01.2013, 15:18  [ТС]     Нужно инвертировать вторую половину строки. #4
спасибо, выручили
Yandex
Объявления
08.01.2013, 15:18     Нужно инвертировать вторую половину строки.
Ответ Создать тему
Опции темы

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