Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Пожалуйста, помогите написать программу. Очнь с... Добавлено: 19.05.04 19:22  

Автор вопроса:  MadAlex2004

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

В данном задании необходимо, чтобы в введённом тексте, например,

"Африка - это большой континент" и т.п. выделялись первые два символа, затем выводилось сколько раз это сочетание встречается в тексте, затем после вывода брались следующие два символа "фр" и опять прогонялось по тексту и выводило сколько раз данное сочетание встречается в тексте. И так до конца текста. Ещё одним немаловажным условием есть то, что в процессе взятия двух букв исключались знаки препинания и пробелы. Но если исключается пробел, то слова в предложении не соединяются, а берётся следующее слово.

Есть небольшая идея по взятию двухбуквенных сочетаний в тексте:

1. Через массив и взятии индексов, присвоенных в массиве.

2. Через текстовую функцию MID, т.е выделяя символы из строки. Причём параметрами, например, Mid(Text1.text, x, z) x и z являются наращиваемые переменные. Т.е. сначала x=1, z=2, затем x=2, z=3. и

т.д

Пожалуйста, прошу помочь написать данную программу.

Если не получится полностью, то хотя бы сделать её беря следующие пары двухбуквенных сочетаний.

Например : "Африка - это большой континент", то берутся АФ, затем РИ и т.д.

Пожалуйста помогите написать эту программу, кого не затруднит.

Если можно, то исходник с комментариями.

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 19.05.04 21:13

Ну вот... и зачем мне было писать на мыло...

Только решений может быть множество, я выбрал то, которое можно было более всего быстро написать...

Option Explicit

 

Private Const Pr As String = " ;:?.,-\/" ' Знаки препинания

 

Private Sub Form_Load()
Dim MyStr As String, tmpStr, i As Long ' Переменные
MyStr = InputBox("Введите текст:") ' Запрос строки

 

tmpStr = MyStr ' Временная строка, в которой небудет пробелов и знаков препинания
For i = 1 To Len(Pr) ' Удаляем, точнее заменяем на пустую строку все знаки препинания
tmpStr = Replace$(tmpStr, Mid$(Pr, i, vbNull), vbNullString)
Next

For i = 1 To Len(tmpStr) - vbNull ' Выдираем два символа, отправляем их функции, помещаем данные в листбокс
Call List1.AddItem(Mid$(tmpStr, i, 2) & vbTab & "-" & vbTab & GetEntrCnt(Mid$(tmpStr, i, 2), MyStr))
Next
End Sub
' Функция возвращает кол-во вхождений одной строки в другую
Private Function GetEntrCnt(ByVal sTwoBts As String, ByVal sString) As Long
Dim i As Long
For i = 1 To Len(sString) - vbNull
If Mid$(sTwoBts, i, 2) = sTwoBts Then GetEntrCnt = GetEntrCnt + 1
Next
End Function

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам