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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lemm_Leto
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 19
#1

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

14.01.2013, 19:38. Просмотров 222. Ответов 0
Метки нет (Все метки)

Использую для обмена класс 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. Это один из методов моего собственного класса стринг
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 19:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обмен содержимого строк (C++):

Обмен строк в матрицах - C++
Помогите пожалуйста с программкой на с++! буду очень благодарен! В каждой из матриц A (4×3), B (5×4) поменять местами две строки: в A...

Ошибки при проверке содержимого двух строк - C++
Здравствуйте! Помогите, пожалуйста. Есть вот такой кусочек кода. При компиляции ошибка error C3861: '_T': identifier not found if (...

Вывод содержимого вектора с наибольшим количеством строк - C++
Ребят помогите с заданием: Считать все строки заданного входного файла в указанную структуру данных , сортируя строки при загрузке...

Обмен значениями - C++
Не понимаю, почему в двух последних случаях обмен значений переменных не происходит. #include &lt;iostream&gt; void swapr(int &amp; a, int &amp;...

Обмен по RS-422 - C++
Добрый всем день! Подскажите, пожалуйста, что можно почитать для организации обмена по RS-422. Никак не могу найти внятных примеров или...

Модифицированний обмен - C++
Здравствуйте, можете подсказать, что это за сортировка (модифицированная) ? Гуглил, ничего не нашел, вот объяснение к этой сортировке. ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 19:38
Привет! Вот еще темы с ответами:

Обмен половинами в матрице - C++
Дана матрица HxW H = 4 W = 4. Составить функцию, которая может, менять столбцы первой половины матрицы на столбцы второй половины...

Обмен переменных string - C++
Здравствуйте. Подскажите пожалуйста, как ПРАВИЛЬНО и КРАСИВО поменять местами две string-переменные? Делаю следующим образом: ...

Обмен между приложениями - C++
Есть два приложения в ОС Windows , одно консольное которое ждет ввода трех чисел std::cin , второе диалоговое , диалоговое запускает...

Обмен строчек в матрице - C++
вообщем немогу найти ошибку(ничего не меняет #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;locale&gt; using namespace std; ...


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

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

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