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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2011, 12:47   #1
ivanenkovaolga
 
Регистрация: 25.01.2011
Сообщений: 7
По умолчанию работа со строковыми переменными

1 заменить "о" на "а"
2 определить количество цифр в тексте, подсчитать их сумму
3 удалить все цифры из текста
4 подсчитать количество (суммарное вхождение букв "м" и "н"), стоящих на нечетных позициях
ivanenkovaolga вне форума Ответить с цитированием
Старый 15.06.2011, 14:34   #2
fenryr
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 28
По умолчанию

1)
Код:
str := '333ооо333о8ооо99л';
str := AnsiReplaceStr(str , 'о','а');
2)
Код:
 str := '3ооо3о8ооо02л';
   sum := 0;
   count := 0;
   for i := 1 to length (str) do
    if str[i] in ['0'..'9'] then
      begin
       sum := sum + integer(integer(str[i]) - 48);
       count : count + 1; 
      end;
3)
Код:
 str := '3ооо3о8ооо02л1';
   i := 1;
   while i <= length (str) Do
     Begin
        if (str[i] in ['0'..'9']) Then
              Delete (str,i,1)
         Else i := i + 1;
     End;
4)

Код:
 str := 'амаанммннн';
   i := 1;
   count := 0;
   while i <= length (str) Do
     Begin
        if (str[i] in ['м','н']) and (i mod 2 = 1) Then Inc (count);
      inc (i);
     End;
fenryr вне форума Ответить с цитированием
Старый 16.06.2011, 01:22   #3
ivanenkovaolga
 
Регистрация: 25.01.2011
Сообщений: 7
По умолчанию

sum := sum + integer(integer(str[i]) - 48); как это записать по другому например IntToStr(str[i]) но у мя выдает ошибку почему не знаю


Код:
procedure TForm1.Button1Click(Sender: TObject);

  const
  D = ['м','н'];
   D1 = ['0'..'9'];
var
  St,St1 : String;
  i, Len,k1,Kol,sum : Integer;
begin
  St := Edit1.Text;
  Len := Length(St);
  Kol:= 0;
   sum:=0;
  k1:=0;
  for i := 1 to Len do begin
if St[i]='о' then begin St1:=St1+'а';
  end
 else
St1:=St1+St[i] ;
if checkbox1.Checked then  edit5.Text:=St1;



     if checkbox3.Checked then
    if St[i] in D1 then
      begin
      k1:=k1+1;
Edit7.Text:='Количество =' + IntToStr(k1)+' '+','+ 'Сумма ='+IntToStr(sum);
 end;




if checkbox4.Checked then
if (i mod 2 <> 0) and (St[i] in D) then Kol:=Kol+1;
    {если в строке  имеются буквы м и н и они стоят на нечетных позициях
    то увеличиваем количество на 1}
  Edit2.Text := IntToStr(Kol);
  end;
for i := Len downto 1 do begin
if St[i] in D1 then Delete(St, i, 1);
end;
if checkbox2.Checked then
  Edit6.Text := St;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Close;
end;
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 16.06.2011 в 09:06.
ivanenkovaolga вне форума Ответить с цитированием
Старый 16.06.2011, 01:26   #4
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Цитата:
Сообщение от ivanenkovaolga Посмотреть сообщение
sum := sum + integer(integer(str[i]) - 48); как это записать по другому например IntToStr(str[i]) но у мя выдает ошибку почему не знаю
Не IntToStr(str[i]) а StrToInt(str[i])

а зачем "- 48", проще так sum := sum + StrToInt(str[i]);
Нет невыполнимых задач, всё дело времени...

Последний раз редактировалось D-mon; 16.06.2011 в 01:28.
D-mon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строковыми переменными (наверно странный вопрос) rick1177 Microsoft Office Excel 12 31.07.2010 22:35
Работа со строковыми переменными на языке PASCAL бургер Паскаль, Turbo Pascal, PascalABC.NET 1 06.05.2010 08:44
Работа со строковыми переменными. Babur4iK Помощь студентам 9 11.11.2009 20:54
Нужна помощь со строковыми переменными NightFire Помощь студентам 7 03.03.2009 00:01
Работа со строковыми переменными!!! NightFire Помощь студентам 10 02.03.2009 22:10