Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Lyssa
Помоги, пожалуста!!! Дан текстовый файл, нужно найти и вывести количество символов, включая пробелы, к введенному слову. Строки вводятся, а как посчитать символы я не представляю...
Lyssa
Предложите, пожалуста, хоть какие то варианты, как делать...
Lapp
Цитата(Lyssa @ 18.12.2010 21:11) *
найти и вывести количество символов, включая пробелы, к введенному слову.

blink.gif что это означает? можно по-русски?.. blink.gif

Цитата(Lyssa @ 18.12.2010 23:47) *
Предложите, пожалуста, хоть какие то варианты, как делать...
Да мы бы с радостью... но ты выразись попонятнее.
Лучше всего - приведи условие, как оно написано в задачнике или что там у тебя.
Lyssa
Дан текст, который состоит из 8 строк. Обчислить количество символов до слова введеного з текста.
Lapp
Цитата(Lyssa @ 19.12.2010 0:16) *
Дан текст, который состоит из 8 строк. Обчислить количество символов до слова введеного з текста.

Посчитать количество симвлов до данного слова?

Ты приведи пример. Не обязательно 8 строк, можно поменьше. Но только полностью, как это выглядит.
Lyssa
Текст
Зима холодно снег
Весна тепло
Слово: холодно
Ответ:5

Lapp
А если так?

Текст:

Зима - холодно, снег...
Весна - тепло!
А осенью мокро, блин ((

Слово: тепло

Ответ: ?
Lyssa
Цитата(Lapp @ 19.12.2010 0:29) *

А если так?

Текст:

Зима - холодно, снег...
Весна - тепло!
А осенью мокро, блин ((

Слово: тепло

Ответ: ?

Если нет пробелов перед "-" то 27, а с пробелами 31
Lapp
Цитата(Lyssa @ 19.12.2010 0:46) *
Если нет пробелов перед "-" то 27, а с пробелами 31

Конечно, с пробелами - это же тире, а не дефис! ))
Спасибо ).

Короче, все просто. Вводишь строки.. примерно так:
m:=0;
b:=false;
while not EoF(f) do begin
ReadLn(f,s);
if Pos(w,s)>0 then begin
m:=m+Pos(w,s)-1;
b:=true;
break
end
end;
if b then WriteLn(m,' characters before word ',w) else WriteLn('word ',w,' not found');


Добавлено через 6 мин.
Извини, ошибся. Вот так надо:
m:=0;
b:=false;
while not EoF(f) do begin
ReadLn(f,s);
if Pos(w,s)>0 then begin
m:=m+Pos(w,s)-1;
b:=true;
break
end
else Inc(m,Length(s))
end;
if b then WriteLn(m,' characters before word ',w) else WriteLn('word ',w,' not found');
Lyssa
Спасибо БОЛЬШОЕ!!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.