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

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

05.01.2011, 23:09. Показов 1157. Ответов 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
3956 / 1811 / 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
3956 / 1811 / 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
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru