0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
1

Не получается выделить подстроку из строки и реализовать удаление (Без использования библиотечных методов)

06.09.2019, 17:48. Показов 321. Ответов 0
Метки нет (Все метки)

В общем, проблема объяснена в названии темы + к этому в конец добавляюся мусор в виде рандомных символов
main
C++
1
2
3
String str2("Бегемот");
    str2.Substr(3, 4);
    str2.Print();
сами методы
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
String String::Substr(int index, int count) 
{
    char* str1;
    str1 = new char[lengthStr+1];
    for (int i = index, j=0; i < lengthStr+1; i++,j++) 
    {
        if (count >=1) 
        {
            str1[j] = str[i];
            count--;
        }
    }
 
    Copy(str1);
    return str1;
}
//доделать
void String::Remove(int index, int count) 
{
    char* str1; 
    str1 = new char[lengthStr + 1];
    for (int i = index,j=0; j < lengthStr+1; i++,j++)
    {
        if (count >= 1)
        {
            str1[i] = str[j];
            count--;
        }
                
    }
    Copy(str1);
}
Конструктор:
C++
1
2
3
4
5
6
7
String::String(const char *stroka)
{
    cout << "Конструктор с параметрами String" << endl;
    str = new char[strlen(stroka) + 1];
    strcpy(str, stroka);
    lengthStr = strlen(str);
}
метод Copy
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void String::Copy(const String& string) 
{
    
    /*Проверка на выделение памяти.
    Если выделено-очищаем*/
    if (this->str != nullptr)
    {
        delete[] this->str;
    }
    /*Выделяем память*/
    this->str = new char[strlen(str) + 1];
    lengthStr = string.lengthStr;
    strcpy(str, string.str);
    
}
Добавлено через 15 минут
Вернее, получается, но мусор в строках какой-то

Добавлено через 18 минут
емотННННээээЭЭ
Вот что выводит при передаче слова "Бегемот"

Добавлено через 19 минут
Так, с методом Substr разобрался
Не получается с Remove

Добавлено через 46 минут
Так-с, с этим справился
теперь нужно реализовать метод
C++
1
void Insert(char* s, int index)
вставка строки в стиле языка C в строку, для которой вызывается метод Insert; index – позиция, перед которой выполняется вставка.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2019, 17:48
Ответы с готовыми решениями:

Как сравнить строки без использования методов?
Приветствую, хочу сравнить строки а не получается.... Подскажите любезные, в чем я ошибаюсь? ...

БЕЗ использования библиотечных функций
Помогите написать программу... Написать программу, которая (без использования библиотечных функций...

Алгоритм удаления гласных букв из строки без использования методов класса String
Помогите хоть один написать. это на C# надо, но можно и на C++. Алгоритм удаления гласных букв...

Частотный словарь без использования библиотечных функций. Файлы
Добрый день, товарищи!:senor: Помогите, пожалуйста, разобраться с программой. Уже ничего не...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2019, 17:48

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Функция Reverse(s) без использования библиотечных функций и индексации
Итак, есть задачка: Написать функцию Reverse(s), которая будет менять порядок элементов в строке s...

Написать программу, которая (без использования библиотечных функций для обработки строк), копировала бы строку
Написать программу, которая (без использования библиотечных функций для обработки строк),...

Алгоритм удаления гласных букв из строки без использования методов класса String (с использованием только сложения и чтения отдельного символа).
Кто может, напишите хотя бы один алгоритм, пожалуйста. Алгоритм удаления гласных букв из строки...

Удаление символов из строки без использования стандартной функции delete
Как удалить символы из строки без использования стандартной функции delete? конкретно моя задача:...


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

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

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