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

Нужно переделать статические данные в динамические - C++

Восстановить пароль Регистрация
 
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
20.04.2014, 23:13     Нужно переделать статические данные в динамические #1
как сделать tum[18] динамическим чтобы при замене текста в text программа работала правильно. Задача программы удалят слово const
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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
int main()
{
    char* text = "werer float const void", tum[18];
    int i,j=0,k=0,l=-1;
    //1
    for (i = 0; i < 23; i++)
    {
        if (text[i] == 'c' && text[i+4] == 't')
        {
            j = 1;
            continue;
        }
        if (j == 1)
        {
            k++;
            if (k==5)
            {
                j = 2;
            }
            continue;
        }
        l++;
        tum[l] = text[i];
    }
    text = tum;
    cout << text <<"\n";
    //2
    
 
    //4
    
    
    _getch();
    return 0;
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4297 / 3718 / 1251
Регистрация: 14.04.2014
Сообщений: 14,540
20.04.2014, 23:25     Нужно переделать статические данные в динамические #2
Не ясно, что ты хочешь. Может tum - это строка "werer float const void", а text - указатель?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.04.2014, 23:32     Нужно переделать статические данные в динамические #3
Если текст известен на момент компиляции, то достаточно такого варианта:
C++
1
char text[] = "some text which you can modify";
Содержимое text можно будет менять в процессе выполнения программы, но главное не выходить за пределы исходно заданной строки. Т.е. чтобы длина не превышала sizeof(text).

В исходном варианте, когда строка объявлена как указатель на char, модифицировать ее нельзя, так как это UB.
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
21.04.2014, 00:05  [ТС]     Нужно переделать статические данные в динамические #4
Цитата Сообщение от nmcf Посмотреть сообщение
Не ясно, что ты хочешь.
когда я запускаю программу у меня такой текст werer float void (const программа удалила) но когда присваивают переменной
Цитата Сообщение от user-men Посмотреть сообщение
char* text = "werer float const void"
"werer float const void int" у меня программа показывает непонятные символы
код мой корявый потому что я только начинаю учить работу с текстом суть программы удалять слово const если знаешь простой код для удаления слова const напиши Пожалуйста
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.04.2014, 00:35     Нужно переделать статические данные в динамические #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от user-men Посмотреть сообщение
если знаешь простой код для удаления
Если хочется простой код, то хорошо бы использовать типы и алгоритмы из стандартной библиотеки. Для строк std::string в частности: поиск и удаление.
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 300
21.04.2014, 00:47  [ТС]     Нужно переделать статические данные в динамические #6
спасибо за совет но в моей программе тип char обязательный
моя задача выглядит так:
Заданная строка S. Преобразовать S следующим образом:

1) удалить из S первое вхождение буквосочетание 'const';

2) после первой буквы V вставить буквосочетание 'аг';

3) в строку X скопировать 7 символов из строки S, начиная с 10 позиции;

4) заменить все буквосочетание 'were' на 'are'.

требований к программе
использовать тип char
сделать блок схему к программе
оформите отчет

пока делаю первый пункт
Yandex
Объявления
21.04.2014, 00:47     Нужно переделать статические данные в динамические
Ответ Создать тему
Опции темы

Текущее время: 15:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru