Форум программистов, компьютерный форум 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* str,char* str2,int mycost) 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
Текст в фаил забивает, но когда требуется поменять местами в файле то выводит одн буквы "М" , хотя их нету при вводе.=( Заменяет все пробелы и символы на М и получется исходная строка + очень много "М". //Написать программу, которая в текстовом файле меняет местами два соседних слова. #include <conio.h> #include <windows.h> #include <iostream> #include <stdio.h> using namespace std; int...
C++ Вычислить значение функции, шаг пользователь задает сам, найти максимум и минимум Помогите пожалуйста с программой. Вычислить значения функции в интервале 0 < x <1. Определить корень уравнения F(x) = 0, находящийся примерно посередине заданного интервала изменения аргумента с точностью до ε = 0.0001. F(x) = lg6x - 7 / 6(2x+1) Найти максимум и минимум, шаг пользователь должен задавать сам, результат таблицей и ниже таблице значение, которое самое близкое к 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
 
Текущее время: 05:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru