Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 25

Работа со строками

05.01.2011, 23:09. Показов 1179. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:пользователь водит строку с множеством символов,в которой может присутствовать такой компонент "exp(x)",и если программа находит его то заменяет его на "exp(с вычисленным х,который пользователь заранее задал)"остальная же строка остается без изменения.
Пример выполнения:
Пользователь вводит произвольную строку(например в Edit) в которой будет присутствовать "exp(x)"
fdsghdlfgdfexp(x)gldfgdfjg;dfjgexp(x)
результат выполнения программы
fdsghdlfgdfexp(вычисленное значение)gldfgdfjg;dfjgexp(вычисленное значение)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.01.2011, 23:09
Ответы с готовыми решениями:

Работа со строками
Короче, есть текстовое поле. Надо чтобы вводились в него только цифры и запятая то есть такие числа: 123,234 45,23 345,65 ...

Работа со строками
Строки - мое слабое место, поэтому прошу помочь... Задан массив, который содержит в себе сведения о работниках предприятия такого вида:...

Работа со строками
Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *.

4
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
06.01.2011, 00:08
Вебер, хоть убейте, не понимаю, зачем подставлять вычисленное значение опять в текст, который всё также содержит формулу... Поэтому, исключая этот бред решение будет выглядеть примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String Text = Edit1->Text, Expression = "exp(", Temp;
int sPos = Text.Pos(Expression), ePos = -1, Value = 0;
if (sPos > 0) {
  Temp = Text.SubString(sPos + Expression.Length(),Text.Length() - (sPos - 1));
  ePos = Temp.Pos(")");
  if (ePos > 0) {
    Temp = Text.SubString(sPos + Expression.Length(), ePos - 1);
    try {
      Value = StrToInt(Temp);
      ShowMessage(FloatToStr(Exp(Value)));
    } catch (...) {
      ShowMessage("Error while converting to int");
    }
  }
}
0
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 25
06.01.2011, 00:26  [ТС]
Ну в задание нужно именно что бы в строчку и подставлялось вычисленное значение,т.е. как это выглядит поэтапно:
1-пользователь вводит произвольную строку в edit
fdsghdlfgdfexp(x)gldfgdfjg;dfjgexp(x)
2-пользователь вводит в другой edit значение которое нужно вычислить
3-программа проверяет наличие фрагмента "exp(x)",и если он присутствует то вместо "х" она подставляет вычисленное значение а остальная часть строки остается без изменения
fdsghdlfgdfexp(вычисленное значение)gldfgdfjg;dfjgexp(вычисленное значение)
п.с. сам писал код,но он мне оставлял в строке только "exp(вычисленное значение)",а всё что было в строке видимо удаляет.
п.с.п.с. постарался более внятно написать суть задания
п.с.п.с.п.с. программа пишется на 6 билдоре
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
06.01.2011, 00:30
Вебер, суть задания я понял. Решение - выше.
Если хотите - сами допишите возврат значения в строку. Позиции хранятся в переменных.
1
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 25
10.01.2011, 20:01  [ТС]
Свой вариант решения...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int index;
AnsiString ansi_string = Edit4->Text;
int n=ansi_string.Length();
int x1=StrToInt(Edit5->Text);
x1=exp(x1);
for (int i=1;i<n; i++)
{
index = ansi_string.Pos("exp(x)");
if( index != 0 ) {
 
ansi_string.Delete(index,6);
ansi_string.Insert((x1),index);
}
}
Edit4->Text=ansi_string;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2011, 20:01
Помогаю со студенческими работами здесь

Работа со строками
Помогите плз Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b

Работа со строками
Дана строка символов, среди которых есть двоеточие :. Определить, сколько символов ему предшествует.

Работа со строками
Помогите, пожалуйста с программой Задание такое: Создать программу, выполняющую действия строкового калькулятора. Для реализации...

Работа со строками
Буду рада, если подскажете решение:) Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить первое вхождение символа “м” в...

Работа со строками
почему при произвольном доступе к элементам строки вылазит ошибка &quot;Range check error&quot;? UnicodeString str; str.SetLength(10); ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru