Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ строки

Автор: саня ильин 7.04.2010 23:51

Определить сколько слов в строке имеет количество букв больше некоторого числа N.

Автор: Archon 8.04.2010 0:44

const
A = ['A'..'Z'] + ['a'..'z']; { Множество латинских букв. }
var
n, i: Integer;
s: String;
j: Integer; { Число букв в текущем слове }
Num: Integer; { Число слов с числом букв больше n }
begin
Write('Введите строку: ');
ReadLn(s);
Write('Введите максимальную длину слов, неучитываемых при подсчете: ');
ReadLn(n);
j := 0;
Num := 0;
for i := 1 to Length(s) do { Для каждого символа строки }
if s[i] in A then { проверяем, является ли он буквой. }
Inc(j) { И если является, увеличиваем счетчик букв в текущем слове. }
else begin { В противном случае слово закончилось }
if j > n then Inc(Num); { и надо его посчитать (если число букв подходит) }
j := 0; { и обнулить счетчик букв. }
end;
if j > n then Inc(Num); { После последнего слова может не оказаться разделителя, }
{ его тоже следует посчитать. }
WriteLn('В предложении ', Num, ' слов(о/а) длиннее ', n, ' букв(ы).');
ReadLn;
end.

Автор: саня ильин 8.04.2010 1:16

спасибо тебе,Archon.

Автор: Lapp 8.04.2010 9:05

Короче, сделали Archon и Client все задание Сане Ильину (хотя он и не просил). Лежи Саня, плюй в потолок..

Я настоятельно рекомендую не писать программы полностью по первому же запросу. Пишите функциональный блок, если уж не терпится - пусть остальное допишет сам. На фига плодить олухов, умеющих только копировать файлы? blink.gif

Конечно, приятно, что человек по крайней мере спасибо говорит. Но все равно - не отнимайте у него возможность научиться..

Автор: Client 8.04.2010 15:58

Lapp, все правильно.
Задачки тут примитивные, если бы автор чуток потрудился, то без труда и сам бы сделал. А так, получив решение, он скорей всего уже и не придет сюда еще раз, хотя кто знает smile.gif