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

Обмен содержимого строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Замкнутые области в шестнадцатеричных числах http://www.cyberforum.ru/cpp-beginners/thread761670.html
Имеется задача. Рассмотрим последовательность чисел от 10000000 до 4FFFFFFF включительно. Для каждой шестнадцатеричной цифры числа определим количество замкнутых областей в ней. Так, цифры 0 или 9 имеют одну замкнутую область, а цифры 8 или B–две замкнутых области. Посчитаем общее количество замкнутых областей числа. Выбросим из последовательности числа, в которых более 6 замкнутых областей. В...
C++ программа выдает только черный экран программа по идее должна реализовать функцию обмена местами для переменных типа int, double, float, int* , но в результате работы выводит только черный экран. Подскажите, пожалуйста, что нужно сделать, чтобы выводились результаты работы?) #include <iostream> using namespace std; void change(int&,int&); void change(double&,double&); void change(float&,float&); void change(int*,int*); ... http://www.cyberforum.ru/cpp-beginners/thread761669.html
Как получить переменные из файла начиная со второй C++
В файле INPUT.TXT есть переменные: 1 2 3 4 5 Как с помощью ifstream in("INPUT.TXT"); in >>
C++ Идентичность двух матриц
Здравствуйте, у меня задание написать 2 матрици. Я написал для матриц которые :возвращала true если элементы матрица образует семетрию по вертикали ,в противном случае false. А теперь мне задание теже самые матрици передать так чтоб :возвращала true если элементы матрица абразует идентичность ,в противном случае false. Я так понял что место symmetric надо писать is_identity Я изменял...
C++ Составить файл, содержащий инвертированные строки заданного файла http://www.cyberforum.ru/cpp-beginners/thread761634.html
Задача: Составить файл, содержащий инвертированные строки заданного файла. План действий: 1) Открыть файл для чтения + 2) Считать первую строку из файла - 3) определить длину считываемой строки + 4) Составить цикл, в котором будет инвертироваться строка + 5) проделать с каждой строкой файла ...
C++ Объясните, для чего нужны некоторые строчки в коде(using namespace, new, int main) #include <iostream> using namespace std; //для чего эта строчка int main(void) // что нужно изменить чтобы было void main() { unsigned count; unsigned result(1); unsigned number_m; bool contains = false; cout<<"Count of numbers : "; cin>>count; подробнее

Показать сообщение отдельно
Lemm_Leto
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 19
14.01.2013, 19:38     Обмен содержимого строк
Использую для обмена класс string, максимальное и минимальное значение и нашел и эти строки соответственно вырезал и записал в свои объекты, но как дальше их поменять местами в исходном? Помогите пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
void String::swap()
{
    string Line(str);
 
    //Поиск максимального
    int temp_start=0, temp_end=0;
    int max_start=0, max_end=0;
    int temp_max_length=0;
    int max_length=0;
    
    for(int i=0; i<length+1; i++)
    {
        if(str[i] == 32 || str[i] == '\0')
        {
            temp_end = i;
            temp_max_length = temp_end - temp_start;
        }
        if(max_length < temp_max_length)
        {
            max_start = temp_start;
            max_end = temp_end;
            max_length = temp_max_length;
        }
        if(str[i] == 32 || str[i] == EOF)
            temp_start = i+1;
    };
    string max(Line.substr(max_start, max_length));
 
    //Поиск минимального 
    temp_start=0; temp_end=0;
    int min_start=0, min_end=0;
    int temp_min_length=256;
    int min_length=255;
    
    for(int i=0; i<length+1; i++)
    {
        if(str[i] == 32 || str[i] == '\0')
        {
            temp_end = i;
            temp_min_length = temp_end - temp_start;
        }
        if(min_length > temp_min_length)
        {
            min_start = temp_start;
            min_end = temp_end;
            min_length = temp_min_length;
        }
        if(str[i] == 32 || str[i] == EOF)
            temp_start = i+1;
    };
    string min(Line.substr(min_start, min_length));
    
    Line.replace(Line.find(max), max.length(), min);
    cout << Line << endl;
    Line.replace(Line.find_last_of(min), min.length(), max);
    
    cout << Line << endl;
};
P.S. Это один из методов моего собственного класса стринг
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru