Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
LIFE4RUS
0 / 0 / 1
Регистрация: 04.10.2011
Сообщений: 4
1

Подсчёт двухбуквенных сочетаний

04.10.2011, 19:55. Просмотров 954. Ответов 5
Метки нет (Все метки)

Дана задача:в заданном тексте определить сколько раз встречается каждое различное двухбуквенное сочетание.
может кто нить помочь с решением хотя б идейку подкинуть а то я что-то ничего придумать не могу..
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2011, 19:55
Ответы с готовыми решениями:

Подсчет количества двухбуквенных сочетаний
Надо написать программу для подсчета двух буквенные сочетаний в тексте введенным с клавиатуры на 2...

Частота двухбуквенных сочетаний в русском языке
Кто нибудь может провести частотный анализ двухбуквенных сочетаний в русском языке? например для...

Способ как подсчитать количество двухбуквенных сочетаний
Здравствуйте, имеется задание подсчитать в тексте количество двухбуквенных сочетаний. В тексте 3000...

Частотный анализ двухбуквенных сочетаний в русском языке
Кто нибудь может провести частотный анализ двухбуквенных сочетаний в русском языке? например для...

Разработать функцию, которая будет считать количество одинаковых двухбуквенных сочетаний
Добрый день. Программа должна после ввода символов выводить все латинские буквы. #include...

5
Arcor
5117 / 1976 / 426
Регистрация: 20.11.2009
Сообщений: 6,553
Записей в блоге: 1
04.10.2011, 20:25 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function KolVo(S, Sl: String): Integer;  // S - текст в котором будем искать
                                         // Sl - буквосочетание которое будем искать
var i: Integer;
begin
  Result := 0;
  for i := 1 to Length(S) do
    if (S[i] = Sl[1]) and (S[i+1] = Sl[2]) then
      Result := Result + 1;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  MessageDlg('Количество буквосочетаний в тексте = '+IntToStr(KolVo(Memo1.Text, 'ab')), mtInformation, [mbOK], 0)
end;
вот собственно функцию написал подсчета вхождений буквосочетаний

хранение текста я взял за мемо, и в нем в тексте искал буквосочетания вошедшие в функцию, т.е. пользователем, надеюсь это имелось ввиду

P.S. хотел написать по другому, функцию, через Pos(), что-то не получилось, ну так тоже работает
1
LIFE4RUS
0 / 0 / 1
Регистрация: 04.10.2011
Сообщений: 4
04.10.2011, 21:05  [ТС] 3
имелось ввиду что в тексте допустим: абаб входит 2 буквосочетания "аб" и "ба" и надо указать что "аб" - встречается дважды, а "ба"- единожды.
0
Arcor
5117 / 1976 / 426
Регистрация: 20.11.2009
Сообщений: 6,553
Записей в блоге: 1
04.10.2011, 21:40 4
сейчас доделаем

Добавлено через 3 минуты
Delphi
1
2
3
4
5
6
7
8
9
function KolVo(S, Sl: String): Integer;  // S - текст в котором будем искать
                                         // Sl - буквосочетание которое будем искать
var i: Integer;
begin
  Result := 0;
  for i := 1 to Length(S) do
    if ((S[i] = Sl[1]) and (S[i+1] = Sl[2])) or ((S[i] = Sl[2]) and (S[i+1] = Sl[1])) then
      Result := Result + 1;
end;
0
Arcor
5117 / 1976 / 426
Регистрация: 20.11.2009
Сообщений: 6,553
Записей в блоге: 1
04.10.2011, 23:10 5
прошу прощения, я не то сделал что требовалось вначале , вот сообразил как надо было, только сейчас, переписал, думаю автору это нужно
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
type TKol = record
  Val1, Val2: Integer;
end;
implementation
 
{$R *.dfm}
 
function KolVo(S, Sl: String): TKol;  // S - текст в котором будем искать
                                      // Sl - буквосочетание которое будем искать
var i: Integer;
begin
  Result.Val1 := 0;
  Result.Val2 := 0;
  for i := 1 to Length(S) do
    if (S[i] = Sl[1]) and (S[i+1] = Sl[2]) then
      Result.Val1 := Result.Val1 + 1;
    Sl := ReverseString(Sl);
    for i := 1 to Length(S) do
      if (S[i] = Sl[1]) and (S[i+1] = Sl[2]) then
        Result.Val2 := Result.Val2 + 1;
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var Str: String;
begin
  Str := Edit1.Text;
  MessageDlg('Количество буквосочетаний в тексте = '+IntToStr(KolVo(Memo1.Text, Str).Val1)+
            #13#10+'Количество обратных буквосочетаний в тексте = '+IntToStr(KolVo(Memo1.Text, Str).Val2), mtInformation, [mbOK], 0)
end;
0
Миниатюры
Подсчёт двухбуквенных сочетаний  
AndyZorg
Заблокирован
05.10.2011, 01:27 6
Интересно, что тут может произойти, а?
for i := 1 to Length(S) do
if (S[i] = Sl[1]) and (S[i+1] = Sl[2]) then

Вопрос персонально 2Arcor...
0
05.10.2011, 01:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 01:27

Задачка на указатели. Указать, сколько раз встречается в тексте каждое из двухбуквенных сочетаний
Для встречающихся в заданном тексте пар рядом расположенных символов указать,сколько раз...

Записать в выходной файл количество появлений всех двухбуквенных сочетаний, имеющихся в тексте
Друзья, пожалуйста, проверьте код. Он не рабочий к сожалению( Сама задача:Дан текст на русском...

Подсчёт в слове X всех сочетаний "нн".
Напишите программу для подсчёта в слове X всех сочетаний "нн".Считайте, что в слове "ннн" подслово...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru