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

ф-ция реверса строки - 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
14.05.2013, 15:51  [ТС]
Цитата Сообщение от ninja2 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void revers(char* str)
{
    string s1;
    string s2;
    string result;
    int i(0);
    for(;i<strlen(str)/2;i++)
        s1+=str[i];
    for(;i<strlen(str);i++)
        s2+=str[i];
    for(i=s2.size()-1;i>=0;i--)
        result+=s2[i];
    //cout <<"result= "<<result<<endl;
    for(i=s1.size()-1;i>=0;i--)
        result+=s1[i];
 
    strcpy(str,result.c_str());
}
}

ты хоть проверял этот код? запускал его? ты осознаешь что в нем много лишних и бесполезных действий, понимаешь что минимум один цикл и строка явно лишние??? ты понимаешь что вопрос стоял о улучшении написанной мною ф-ции а не о преобразовании мотоцикла в инвалидное кресло?
1. уже говорилось о том что нельзя использовать какие-либо ф-ции
2. зачем тебе s1?... блин да ну на... я даже не буду пытаться это разбирать.

Добавлено через 8 минут
Цитата Сообщение от accept Посмотреть сообщение
на пустой строке - неопределённое поведение
сравниваемые указатели должны указывать на элементы одного массива
вполне определенное, проверял, прога пашет, ошибок не выдает. строка или массив это последовательный контейнер, т.е. элементы в памяти размещены последовательно, при сравнении указателей, в случае пустой строки, указатель end_str указывает на область памяти перед 1м эл-том соответственно в цикл прога не заходит. хотя незнаю что будет если указатель str будет изначально указывать на 0ю область памяти... мб вылетит ошибка во время операции --end_str
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.