Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];

Вниз

кол-во слов начинающихся и заканчивающихся заданным символом   Найти похожие ветки 

 
Lipris ©   (2006-11-30 16:43) [0]

как написать программу которая в строке найдет  количество слов начинающихся и заканчивающихся заданным символом.

Текст: "Без знаков припинания текст теряет выразительность"
например Заданный символ "т"

Результат работы программы: Кол-во слов начин. и заканчив на "т" равно 2

слова отделены только пробелами (одним или несколькими)


 
Сергей М. ©   (2006-11-30 16:44) [1]

И ?


 
Jeer ©   (2006-11-30 16:49) [2]


> Lipris ©   (30.11.06 16:43)


ТЗ поставлено правильно, осталось или написать тебе самому и пожаловаться на какие-либо проблемы в решении этой задачи или определиться с тем, сколько сможешь заплатить за реализацию этого ТЗ на любом языке программирования, поскольку тобой он явно не определен.


 
tesseract ©   (2006-11-30 16:50) [3]

for i:=1 to length(mystr) do
begin
if mystr[i]=" " then
  //думай сам
end;


 
AndreyRu   (2006-11-30 21:41) [4]

function RetCount(Ch : Char; Text : String; CaseSens : boolean) : integer;
var
  r : array of string;
  s, tmp : string;
  c : Char;
begin
 Result := 0;
 s := trim(Text);
 if not CaseSens then
   begin
     s := AnsiUpperCase(s);
     c := AnsiUpperCase(Ch)[1];
   end;
 if pos(" ", s) = 0 then
   begin
      if (s[1] <> C) or (s[length(s)] <> C) then
         exit;
   end;
 repeat
   tmp := copy(s, 1, pos(" ", s)-1);
   delete(s, 1, pos(" ", s));
   s := trim(s);
   if (tmp[1] = C) and (tmp[length(tmp)] = C) then
     inc(Result);
 until
   pos(" ", s) = 0;
 if (s[1] = C) or (s[length(s)] = C) then
   inc(Result);
end;


 
AndreyRu   (2006-11-30 21:43) [5]

Только r : array of string; - Лишнее.. )) Сорри..


 
Elen ©   (2006-12-01 07:46) [6]


> Lipris

Могу предложить код пошустрее чем у AndreyRu :

procedure TForm1.Edit1Change(Sender: TObject);
var s:string; n,i:integer;
begin
s:="Без знаков тприпинания текст теряет выразительность";
i:=1;n:=0;
while i<=length(s) do begin
if (i>1)and(s[i-1]=" ")and(copy(s,i,length(edit1.Text))=Edit1.Text) then
 inc(n);
inc(i);
end;
caption:=inttostr(n);
end;


В эдит вводится начало слова (первая буква) в капшине твое решенее.


 
Elen ©   (2006-12-01 07:57) [7]


> Lipris

Автор извини [6] не учтен заканчивающийся символ :
Вот так правильнее по сабжу :

procedure TForm1.Edit1Change(Sender: TObject);
var s:string; n,i,a:integer;
begin
s:="Без знаков тприпинаният текст теряет выразительность";
i:=1;n:=0;
while i<=length(s) do begin
if s[i]=" " then  begin a:=i; inc(i);
 while (s[i]<>" ")and(i<length(s)) do inc(i);
 if (s[i-1]=Edit1.Text)and(s[a+1]=Edit1.Text) then inc(n);
end else inc(i);
end;
caption:=inttostr(n);
end;


(Может быть на всякий случай надо будет пробелами строку входную дополнить на концах)


 
Думкин ©   (2006-12-01 08:20) [8]


> Elen ©   (01.12.06 07:57) [7]

А если строка заканчивается на 2 пробела? Или начинается не с пробела? Или...


 
Думкин ©   (2006-12-01 08:27) [9]

Снимаю в виду замечания:

> (Может быть на всякий случай надо будет пробелами строку
> входную дополнить на концах)

Правда, студентам помогать текстом - не надо. Декабрь. Сессия.


 
Elen ©   (2006-12-01 09:29) [10]


> Снимаю в виду замечания:

Ага я вот тоже с сессией так парюсЪЪ что и лишний раз [6] пишу... Крыша хлопает в ладоши... :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.048 c
8-1146557385
zoltan
2006-05-02 12:09
2006.12.17
Как найти площадь фигуры произвольной формы


15-1164394143
ferr
2006-11-24 21:49
2006.12.17
Забавно :)


2-1164654679
sat
2006-11-27 22:11
2006.12.17
передача информации между модулями


15-1164203095
Darvin
2006-11-22 16:44
2006.12.17
Потоки TThread + быстродействие


15-1164556645
Antoha111
2006-11-26 18:57
2006.12.17
векторная графика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский