Вопрос № 95128: доброго времение суток, уважаемые эксперты. опять нужна Ваша помощь. нужна прога, подсчитывающая количество слов в тексте, содержащих заданную букву. заранее СПАСИБО...
Вопрос № 95.128
доброго времение суток, уважаемые эксперты. опять нужна Ваша помощь. нужна прога, подсчитывающая количество слов в тексте, содержащих заданную букву. заранее СПАСИБО
Отправлен: 14.07.2007, 12:53
Вопрос задал: Deimos25 (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Denisss
Здравствуйте, Deimos25!
См. пример в приложении.
Принцип прост:
1. Ищем букву в тексте
2. Если нашли, то переходим к следующему слову (определяем его по стоящему пробелу перед ним), увеличиваем значение num, переходим к п.1
3. Выводим результат.
Удачи!
Приложение:
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва WWW:Хлама много, по сути ничего... ---- Ответ отправлен: 14.07.2007, 13:08 Оценка за ответ: 4
Отвечает: Градов Юрий Михайлович
Здравствуйте, Deimos25!
Привожу код решения Вашей программы в приложении. В директорию с программой нужно поместить текстовый файл и переименовать его text.txt, можно сделать обработка любого файла:
......
Writeln('Введите имя файла');
Read(St);
Assign(F,St);
Reset(F);
.....
Приложение:
--------- Глаза боятся - руки делают!
Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 14.07.2007, 13:34 Оценка за ответ: 4
Отвечает: Дмитрий С.
Здравствуйте, Deimos25!
Вот примерное решение Вашей задачи. Думаю, основную идею поймёте.
прога, подсчитывающая количество слов в тексте, содержащих заданную букву.
__________________________________________________________________________
var text, slovo: string;
i, count: integer;
a: char;
begin
// Ввести строку (text) - маленькие латинские буквы. Резделитель слов - один знак препинания.
// Ввести заданную букву (a)
count := 0;
mn := ['a'..'z'];
Repeat
slovo := '';
i:=0;
while not (text[i] in mn) do
Begin
inc(i);
slovo := slovo + text[i];
end;
delete(text, i+1, 1);
for i:=1 to length(slovo) do
begin
if slovo[i]=a then inc(count);
break;
end;
Until text='';
end.
В тексте будет содержаться COUNT слов с заданной буквой
УДАЧИ!
С Ув. SHERRY
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 3-ий класс)
Ответ отправлен: 14.07.2007, 15:11 Оценка за ответ: 4 Комментарий оценки: хороший пример возможного решения, но не самый рациональный. А так спасибо за помощь. Ценю.