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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2013, 19:43   #1
Леханыч
Новичок
Джуниор
 
Регистрация: 12.01.2013
Сообщений: 1
По умолчанию Разделение входных данных

В входных данных вводятся несколько строк, каждая из которых состоит из 4 частей, разделённых точками и двоеточием (перед последней). В 1,2 и 3 введены буквы, в 4 цифры. Нужно выделить только числовую часть. Напишите кусок алгоритма, заранее спасибо)
Леханыч вне форума Ответить с цитированием
Старый 12.01.2013, 20:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
i:=Length(s); while (i>0)and(s[i]<>':') do dec(i);
...:=copy(s,i+1,Length(s);
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.01.2013, 20:18   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ищите в строке двоеточие.
Потом берете все последующие цифры.
Всё.
примерно так:
Код:
LastPart := '';
t :=  Pos(':', s);
if t>0 then begin
  i:=t+1;
  while ( i<=Length(s) )  and (s[i] in ['0'..'9']) then begin
     LastPart := LastPart + s[i]; 
     Inc(i);
  end; 
end;
профит!

писал прямо в бразуере, в коде могут быть мелкие опечатки/неточности
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение данных t2skler Общие вопросы C/C++ 24 19.01.2012 20:14
калькулятор и операторы обрабочики входных данных Raul Duk Общие вопросы C/C++ 3 14.04.2011 15:21
Функции с произвольным кол-вом входных и выходных данных в Matlab ponchikpk Помощь студентам 0 06.10.2010 17:48