Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2008, 15:02   #1
pant
Новичок
Джуниор
 
Регистрация: 30.12.2008
Сообщений: 2
По умолчанию Работа со строками

Сама задача: Дан текст, в котором встречаются арифметические выражения вида a x b, где x - один из знаков +, -, *, /. Выписать все арифметические выражения и вычислить их значения.

На форме присутствуют компоненты Memo, Button, Label.

Алгоритм: Текст из Memo посимвольно проверяется на совпадение с одним из этих знаков. При совпадении производится определение чисел слева и справа от знака, после они преобразовываются из текстовых значений в числовые и выполняется арифметическая операция, соответствующая знаку. Так же с остальными тремя знаками до конца текста. После результаты выводятся в компоненте Label.

Помогите, пожалуйста, не могу правильно все это оформить в виде кода:

procedure TForm1.Button1Click(Sender: TObject);
var
i,n,c,d,e,f: integer;
s: string;
begin
with Memo1 do
begin
For n:=0 to lines.count-1 do
begin
s:=lines[n];
For i:=1 to length(s) do
If s[i]='+' then {здесь не знаю как написать цикл определения чисел}
pant вне форума Ответить с цитированием
Старый 30.12.2008, 16:57   #2
UnD)eaD)Snake
Форумчанин Подтвердите свой е-майл
 
Аватар для UnD)eaD)Snake
 
Регистрация: 07.07.2007
Сообщений: 241
По умолчанию

допустим в edit введено "a x b".

вычисляем сумму и разность для a и b:

Код:
For i:=1 to length(edit.text) do
begin

if edit.text[i]='+' then
label.caption:= inttostr(strtoint(edit.text[i-2]) + strtoint(edit.text[i+2]))
else
if edit.text[i]='-' then
label.caption:= inttostr(strtoint(edit.text[i-2]) - strtoint(edit.text[i+2]));

// и т.д для деления, умножения.
end;
UnD)eaD)Snake вне форума Ответить с цитированием
Старый 30.12.2008, 17:12   #3
pant
Новичок
Джуниор
 
Регистрация: 30.12.2008
Сообщений: 2
По умолчанию

Спасибо большое
pant вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с строками Technolog Microsoft Office Excel 2 17.12.2008 09:58
Работа со строками. ViNcHeStEr Помощь студентам 6 29.06.2008 08:14
С, работа со строками Надюха Помощь студентам 2 29.05.2008 13:07
[С++]работа со строками Федор Помощь студентам 6 23.12.2007 12:35
РАБОТА СО СТРОКАМИ kluwa Общие вопросы C/C++ 7 20.12.2007 18:30