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

ф-ция реверса строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ многопоточное программирование на с++ http://www.cyberforum.ru/cpp-beginners/thread864405.html
необходимо создать приложение которое с использованием thread (потоков) решит уравнение ну например дроюбное , то есть один поток решит знаменатель - другой дробь третий все уравнение четвертый...
C++ Ошибка: нет операции доступа к элементу #include<iostream> #include<iomanip> #include<fstream> #include<locale> using namespace std; struct PRICE { char name_magazine; char name_product; int cost; void operator()(char*... http://www.cyberforum.ru/cpp-beginners/thread864404.html
Шифр гронсфельда + маршрут Гамильтона C++
Нужна программа на си++. Маршрут 2. Нужно сделать так чтобы можно было вести любой алфавит.
C++ Второй с конца пробел
Правильно: BufferL=Buffer.length(); BufferPos=Buffer.rfind(L' ', BufferL); BufferPos=Buffer.rfind(L' ', BufferPos);?
C++ Ввод-вывод текста в фаил http://www.cyberforum.ru/cpp-beginners/thread864383.html
Текст в фаил забивает, но когда требуется поменять местами в файле то выводит одн буквы "М" , хотя их нету при вводе.=( Заменяет все пробелы и символы на М и получется исходная строка + очень много...
C++ Вычислить значение функции, шаг пользователь задает сам, найти максимум и минимум Помогите пожалуйста с программой. Вычислить значения функции в интервале 0 < x <1. Определить корень уравнения F(x) = 0, находящийся примерно посередине заданного интервала изменения аргумента с... подробнее

Показать сообщение отдельно
igor001
8 / 3 / 1
Регистрация: 12.02.2013
Сообщений: 68

ф-ция реверса строки - C++

14.05.2013, 10:51. Просмотров 4551. Ответов 110
Метки (Все метки)

был вчера на собеседовании, попросили написать ф-цию реверса строки (поменять местами 1й и последний символы, 2й и предпоследний и т.д.), но ф-ция должна принимать параметром указатель на char т.е. на начало строки и все. я там немного тупанул но написал, вот хочу узнать есть ли решение получше моего.
вот код (писал в Embarcadero RAD Studio (Borland)):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//ф-ция принимает указатель на массив char с символом окончания строки '\0'
//и производит реверс полученного массива
void TForm1::reverce(char *str)
{
    char* end_str = &str[0];
 
    while (*end_str != '\0') ++end_str;
    
    char  buf;
    while (end_str > str)
    {
        --end_str;
        buf      = *str;
        *str     = *end_str;
        *end_str = buf;
        ++str;  
    }
}
кто захочет проверить, выносим кнопку, лабел и эдит на форму и в ивент на клик кнопки пишем:
C++
1
2
3
4
5
AnsiString str = Edit1->Text.c_str();
 
    reverce(str.c_str());
 
    Label1->Caption = str;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru