Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.12.2011, 19:18   #1
Неопытный
Пользователь
 
Регистрация: 14.11.2010
Сообщений: 11
По умолчанию Дана строка символов - определить количество слов, имеющих заданную длину n.

Ребята помогите написать программу Дана строка символов, содержащая слова. Используя функцию, определить количество слов, имеющих заданную длину n.

Я иссяк на своей первой(((
Неопытный вне форума
Старый 19.12.2011, 20:07   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

слова через пробелы в строке? поточнее вопрос формулируйте. И что за функция?
"ковыряю изнутри" (с)
3D Hunter вне форума
Старый 23.12.2011, 12:06   #3
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Одна из простейших реализаций:

Код:
Function GetWordsCountWithFixedLength(S:String; N: integer):integer;
var
	SL: TStringList;
	I: Integer;
begin
	SL:=TStringList.Create;
	SL.Delimiter:=' ';
	SL.DelimitedText:='Твой текст с множеством слов';
	Result:=0;
	for I:=0 to SL.Count-1 do
		if length(SL[I])=N then Inc(Result); // N - это необходимая длина слова
end;
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума
Старый 21.01.2012, 00:48   #4
OlegPrograming5
Пользователь
 
Регистрация: 12.01.2009
Сообщений: 42
По умолчанию

Можно вырезать слова из строки и сверять их длину с N.
OlegPrograming5 вне форума
Старый 21.01.2012, 02:51   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,443
По умолчанию

Код:
function GetCountOfWordsByLength(aStr:string; const aLen:Integer = 0):Integer;
var
 s:string;
 rCount:Integer;
 i:integer;
 sWord:string;
 iwLen:Integer;
 Buff:array[0..1] of Char; //Конвеерная лента
begin
 Result:=-1; 
 s:=aStr;
   for i:=1 to Length(s) do //Строки начинаются с 1-ы, а Length возвращает значение, включающее 0-ль
   begin
     buff[1]:=s[i]; 
     //Если текущий символ - пробел, а предыдущий им не был, то это конец слова. 
     if (Buff[1] = ' ') and not (Buff[0] = ' ') then
     begin
       //Длинна слова
       iwLen:=Length(sWord)-1;
       if (iwLen = aLen) then rCount:=rCount+1; 
       sWord:='';
      end else
      begin
        //Складываем слово. 
        sWord:=sWord+Buff[1];
      end;
   buff[0]:=Buff[1];
   end;
  Result:=rCount;
end;
Вот так, я решил бы проблему=)

Последний раз редактировалось Человек_Борща; 21.01.2012 в 02:55.
Человек_Борща вне форума
Старый 17.05.2012, 15:16   #6
Неопытный
Пользователь
 
Регистрация: 14.11.2010
Сообщений: 11
По умолчанию

Спасибо ребята, не было возможности зайти на форум)) написал на С++ спасибо за помощь!
Неопытный вне форума
Закрытая тема

           Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана строка. В строке удалить символ двоеточие и подсчитать количество удаленных символов.в делфи _Алексей_ Помощь студентам 3 29.04.2012 15:37
Дана строка текста.Определить какой из символов в ней больше . А или О? Райзат Фриланс 23 26.07.2010 21:20
Дана строка символов, содержащая слова. Определить количество слов, последний и предпоследний символы кот RamZax Паскаль, Turbo Pascal, PascalABC.NET 2 17.06.2010 14:06
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" Mashaa Помощь студентам 13 09.12.2009 13:28
Дана строка символов до точки. Определить, сколько слов содержат ровно три буквы "К". Evidence Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 20:40