Главная страница
    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.47 MB
Время: 0.035 c
3-1160383233
svt
2006-10-09 12:40
2006.12.17
Подскажите пожайлусата как выбрать из базы все повторяющиеся


2-1164689108
Silica
2006-11-28 07:45
2006.12.17
Рисование многоугольников в Delphi


4-1154877611
aleksei_c
2006-08-06 19:20
2006.12.17
Захват картинки с окна перекрытого другим


15-1164301352
Parus
2006-11-23 20:02
2006.12.17
Registry


3-1160466849
Dmitry_Chernov
2006-10-10 11:54
2006.12.17
Аналог периодического реквизита в Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский