Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Assles
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 7
1

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

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

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

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

Удалить первую половину элементов из динамического массива, вторую половину поставить на место первой
удалить первую половину елементов из динамического массива , а вторую половину вставить на место...

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

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

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

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

3
Croessmah
++Ͻ
14626 / 8377 / 1580
Регистрация: 27.09.2012
Сообщений: 20,578
Записей в блоге: 2
Завершенные тесты: 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; 
}
0
softmob
1250 / 700 / 359
Регистрация: 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]);
0
Assles
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 7
08.01.2013, 15:18  [ТС] 4
спасибо, выручили
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2013, 15:18

Отсортировать первую половину массива по возрастанию, а вторую по убыванию
Программа не работает, помогите найти ошибку #include &lt;cstdlib&gt; #include &lt;iostream&gt; using...

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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