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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2018, 09:43   #11
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Есть строки, в них попадаются числа от 0 до 100. Строк, примерно такое же количество.
Задача:
Вывести только те строке, в которых содержаться числа, например, от 15 до 40.
Женя32 вне форума Ответить с цитированием
Старый 26.09.2018, 09:46   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
s:='У Пети было 2 груши, а у Оле 3 яблоко...';
и ещё хотелось бы уточнить, а почему написано не по русски?

по русски это звучит так:
У Пети было 2 груши, а у Оли 3 яблока...

и подумайте, что будете искать в строке, если у Пети будет 1 груша? 5 груш ?
а у Оли - 7 яблок ?

а что искать, если в строке может быть произвольный текст?
Например, у Оли груш нет, зато есть несколько яблок, Света груши не любит, а Петя взял все груши и отдал Васе, хотя у Васи есть грушевое дерево.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.09.2018, 09:55   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
Вывести только те строки, в которых содержаться числа, например, от 15 до 40.
так. уже лучше.
а при чём здесь яблоки и груши?
проверить наличие чисел в строке можно и легко. Найти значение и отобрать только двухзначные в определённом диапазоне немного сложнее, но тоже решаемо. А фрукты тут при чём?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.09.2018, 10:40   #14
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
...
а при чём здесь яблоки и груши?...
Да, не причем.... Какая разница что искать в строках, главное - как это делать?

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
... Найти значение и отобрать только двухзначные в определённом диапазоне немного сложнее, но тоже решаемо....
Как это сделать?
Женя32 вне форума Ответить с цитированием
Старый 26.09.2018, 11:01   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
Как это сделать?
Код:
program ProjectParseNumbers;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var s : string;
  w : string;
  i, v : integer;
begin
  s := '1) в 5-й раз допустим, что у Пети 100 рублей, у Васи - 27 яблок, а у Ольги на 20 яблок больше.';

  // блок обработки строки
  s:=s+' ';
  w := '';
  for i := 1 to length(s) do
     if s[i] in ['0'..'9'] then w := w + s[i]
     else
       if w<>'' then begin
         v := StrToInt(w);
         if (v>=5) and (v<=40) then
           WriteLn('Found: ',v:1,' at position: ',i-Length(w));
         w := '';
       end;
   ReadLn
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.09.2018, 20:38   #16
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Спасибо большое!
Женя32 вне форума Ответить с цитированием
Старый 27.09.2018, 09:54   #17
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 979
По умолчанию

PosEx(SubStr, Str: String; Offset: Integer) - функция аналогична функции Pos(), но позволяет задать отступ от начала строки для поиска. и вызывай сколько надо , а то вдруг тут 2 раза яблоко будет.
только подключи StrUtils
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 27.09.2018, 18:25   #18
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Спасибо!
Женя32 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти в строке все слова - палиндромы(перевертыши) tdsotm Помощь студентам 5 17.11.2014 23:35
в заданной строке символов (отдельные слова, разделенные пробелом) найти слова с совпадающими первой и последней буквами (С++) T_h_i_s Помощь студентам 0 19.11.2012 18:37
[MASM] найти позицию слова и занести результат в файл na4inaushij Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 15.02.2012 22:55
найти определенные числа в строке fize Помощь студентам 3 15.01.2010 11:26
Найти позицию подстроки в строке Ozerich Общие вопросы C/C++ 5 15.12.2008 16:06