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

Почему меняется размер строки? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверка ввода посредством исключений http://www.cyberforum.ru/cpp-beginners/thread1040373.html
Надо обязательно использовать механизм исключений для проверки ввода строки. class wrongStringException{ }; wrongStringException wrongSringExceptionObj; bool wrong_input(){ ....}; ........................ string s;
C++ Алгоритм поиска строки в тексте Здравствуйте!!! Подскажите пожалуйста алгоритм поиска строки P в тексте S за O(\mid P\mid). Хотя бы на словах. Заранее спасибо!!! http://www.cyberforum.ru/cpp-beginners/thread1040371.html
Создать указатель на структуру C++
Список товаров, имеющихся на складе, включает в себя наименование товара, количество единиц товара, цену единицы и дату поступления товара на склад. Реализовать функцию Sort для сортировки списка товаров «пузырьковым» методом по стоимости и функцию Display для вывода данных о товарах. Тип возвращаемых значений определить самостоятельно. типа такого только тут вставками сортировка а надо под...
C++ Сформировать одномерный массив, содержащий количество нулевых элементов каждой строки матрицы
Дана целочисленная матрица m x m . Определить количество отрицательных элементов в треугольнике выше главной и ниже побочной диагонали. Сформировать одномерный массив, содержащий количество нулевых элементов каждой строки матрицы. Помогите с последней частью задания: Сформировать одномерный массив, содержащий количество нулевых элементов каждой строки матрицы. #include "stdafx.h" #include...
C++ Создать программу, фильтрующую текст, введенный с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread1040360.html
Задача программы заключается в считывании текста и отображении его на экране , используя замену заданного набора символов на пробелы. Программа должна предлагать следующие варианты наборов символов для фильтрации: Символы латинского алфавита Символы кириллицы Символы пунктуации Цифры Фильтры могут накладываться последовательно. При повторной установке существующего фильтра данный фильтр...
C++ Вычислить сумму цифр, содержащихся в строке Дана строка. содержащая различные символы. среди которых есть цифры. помогите написать программу, которая вычисляет сумму цифр содержащихся в строке подробнее

Показать сообщение отдельно
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
13.12.2013, 20:29     Почему меняется размер строки?
Перегруженный оператор который должен возвращать пересечение двух строк. Но когда пытаюсь создать строку по счетчику, размер будто сам меняется...

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
my_string my_string::operator*(my_string str)
{
    int check = 0;
    bool flag = false;
    for(int i = 0; i < strlen(_str); i++)
    {
        for(int j = 0; j < strlen(str._str); j++)
        {
            if(_str[i] == str._str[j])
            {
                if(!flag)
                {
                    check++;
                    flag = true;
                }
            }           
        }
        flag = false;
    }
    cout << check << endl;                              // ТУТ УКАЗЫВАЕТ ЧТО ОДИНАКОВЫХ СИМВОЛОВ 2
 
    
    int tmp_count = 0;
    if(_str != nullptr)
        delete [] _str;
    char *_str_new = new char[check];             // А ТУТ РАЗМЕР УЖЕ 14, ПОЧЕМУ ТАК???
    cout << strlen(_str_new) << endl;
    flag = false;
    for(int i = 0; i < strlen(_str); i++)
    {
        for(int j = 0; j < strlen(str._str); j++)
        {
            if(_str[i] == str._str[j])
            {
                if(!flag)
                {
                    _str_new[tmp_count] = str._str[i];
                    tmp_count++;
                    flag = true;
                }
            }           
        }
        flag = false;
    }
    cout << strlen(_str_new) << endl;
 
if(_str != nullptr)
        delete [] _str;
    _str = new char[strlen(_str_new) + 1];
    strcpy(_str, _str_new);
    
    
    return *this;
Добавлено через 18 минут
_str - это поле класса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru