Здравствуйте! Помогите, пожалуйста, уже 3 дня билась над простым вопросом, но не получается. В текстовом файле необходимо найти числа и разбить их в группы по три, начиная справа... Например если число 1234567, то записать его надо 1 234 567. Найти-то я нашла, а вот разбить не получается. Помогите, плиз, буду очень благодарна
volvo
26.01.2006 19:08
Разбить именно в самой строке или при выводе на печать?
Кстати, если ты нашла число, то как именно ты знаешь, что в строке S есть число? Ты знаешь его начало/конец или выделяешь в отдельную строку?
Lapp
26.01.2006 19:45
Допустим, в строке s лежит произвольный набор символов (в частности, целое число). Следующая последовательность операторов вставляет пробелы через три символа, начиная справа.
i:=Length(s)-2; while i>1 do begin Insert(' ',s,i); Dec(i,3); end;
О том, чтобы строка не переполнилась, позаботься сама.
Lazy
27.01.2006 23:33
Volvo,я с начала слова и до следующего пробела проверяю, является ли символ цифрой. Lapp, спасибо большое, очень помог!
volvo
28.01.2006 0:03
А что, готовыми методами выделения слова из строки (заодно проверяя, состоит ли слово только из цифр), воспользоваться нельзя? Этому ведь посвящена специальная тема (прикрепленная) в разделе "Задачи"...
А потом пройти от последнего слова к первому и проделать приблизительно то, что посоветовал lapp...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.