![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
zoo |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Продвинутые Сообщений: 4 Регистрация: 15.10.2008 Город: уфа ![]() |
Имеется текстовый файл(не менее 5 строк). Напечатать номер самой длинной строки. Напечатать все строки, содержащие в качестве фрагмента текст "ба".
|
![]() ![]() |
Inspektor |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 384 Регистрация: 11.6.2008 Город: Крыжополь Учебное заведение: БГТУ Вы: студент ![]() |
Цитата т.е., если я правильно понимаю, вам надо при помощи оператора length найти длину всех строк и сравнить их между собой. Хотя могу и ошибаться. Исходя из формулировки задачи этот вариант не корректен. Длинна строки в файле не ограничена, а функция Length работает только с типом данных string, размер которого ограничен 256 байтами- 255 слотов под символы. Самое простое это читать строки посимвольно. Код n:=0; {номер самой длинной строки} k:=1; {текущая строка} l:=0; {число символов в самой длинной строке} while not eof(f) do i:=0; begin while not eoln(f) do begin read(f,c); Inc(i); end; if i>l then begin l:=i; n:=k; end; Inc(k); end; В условии не сказано что делать при нескольких одинаково длинных строках, поэтому приоритет здесь у первых. Если предположить, что длинна строк в файле не привышает 255 символов, то задача сильно упрощается. |
tig81 |
![]()
Сообщение
#3
|
Академик ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 15 617 Регистрация: 15.12.2007 Город: Украина, Запорожье Учебное заведение: ЗНУ Вы: преподаватель ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 16:18 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru