0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 4
1

Определить, сколько раз заданные 2 слова встречаются в тексте, и сколько из них непосредственно друг за другом

30.11.2018, 14:45. Показов 1493. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, подскажите как решить. С ВБА не дружу, на других языках решается легко, спасибо

Дан файл, содержащий текст на русском языке и некоторые два слова. Определить, сколько раз они встречаются в тексте и сколько из них непосредственно друг за другом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2018, 14:45
Ответы с готовыми решениями:

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

Определить, сколько раз заданные слова встречаются в тексте и сколько из них - непосредственно друг за другом
Не знаю как его делать( П.5.18.Правил Запрещено размещать задания и решения в виде картинок и...

Определить, сколько раз заданные слова встречаются в тексте и сколько из них - непосредственно друг за другом
Есть файл. Ввести два разных слова. Определить, сколько раз они встречаются в тексте и сколько из...

Определить, сколько раз заданные два слова встречаются в тексте и сколько из них - непосредственно друг за другом
Приветствую, форумчане. Всех с праздником и заслуженными выходными) Требуется помощь в нескольких...

5
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
30.11.2018, 16:11 2
Цитата Сообщение от qwertykek Посмотреть сообщение
на других языках решается легко,
Приложи пример, может помогут перевести на VBA.
0
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 4
30.11.2018, 16:25  [ТС] 3
паскаль:

Pascal
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
31
32
33
34
35
36
37
38
39
40
41
42
43
f: text;
  s1, s2: string;
  x1, x2, x: integer;
 
begin
  assign(f, 'story.txt');
  reset(f);
  write('Введите нужные слова (через пробел): ');
  read(s2);
  s1 := copy(s2, 1, pos(' ', s2) - 1);
  delete(s2, 1, pos(' ', s2));
  s1 := UpperCase(s1);
  s2 := UpperCase(s2);
  var s: string;
  x := 0;
  x1 := 0;
  x2 := 0;
  while not eof(f) do
  begin
    var k := 1;
    readln(f, s);
    s := UpperCase(s);
    while (k <= length(s)) do 
      if not (s[k] in ['А'..'Я']) then 
        delete(s, k, 1)
      else inc(k); 
    k := 1;
    while (k <= length(s)) do
      if s1 = copy(s, k, length(s1)) then begin
        inc(x1);
        if k > length(s2) then if s2 = copy(s, k - length(s2), length(s2)) then inc(x);
        k += length(s1); end
      else if s2 = copy(s, k, length(s2)) then begin
        inc(x2);
        if k > length(s1) then if s1 = copy(s, k - length(s1), length(s1)) then inc(x);
        k += length(s2); end
      else inc(k);
  end;
  writeln('Слово ' + s1 + ' встречается в тексте ', x1, ' раз.');
  writeln('Слово ' + s2 + ' встречается в тексте ', x2, ' раз.');
  writeln('Оба слова подряд встречаются в тексте ', x, ' раз.');
  close(f);
end.
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
30.11.2018, 20:08 4
Да, много строк, предложу чуть короче:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
Sub pr()
    Dim s1_2$, vs$
    vs = "здесь текст для проверки наличия слов"
    s1_2 = InputBox("Введите нужные слова (через пробел)")
    s = Split(s1_2)
    MsgBox "Слово '" & s(0) & "' встречается в тексте " & UBound(Split(vs, s(0))) & " раз" & vbCrLf _
           & "Слово '" & s(1) & "' встречается в тексте " & UBound(Split(vs, s(1))) & " раз" & vbCrLf _
           & "Оба слова подряд встречаются в тексте " & UBound(Split(vs, s1_2)) & " раз"
End Sub
0
oh my god
1454 / 793 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
30.11.2018, 20:41 5
msWord
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub StringsOnVBA()
 
 
    Dim sl$(1), tx$, i&, j&, ij&
    For i = 0 To 1
        Do
            sl(i) = Trim(InputBox("Введите " & Choose(i + 1, "первое", "второе") & " слово"))
            If sl(i) <> "" Then Exit Do Else If MsgBox("Выйти ?", 68) = vbYes Then Exit Sub
        Loop
    Next
    On Error Resume Next
    With ActiveDocument.Range
        i = UBound(Split(.Text, sl(0), , 1))
        j = UBound(Split(.Text, sl(1), , 1))
        ij = UBound(Split(.Text, Join(sl), , 1))
    End With
    
    MsgBox "Слово " & sl(0) & " встречается " & i & " раз" & vbLf & _
                "Слово " & sl(1) & " встречается " & j & " раз" & vbLf & _
                "Словосочетание " & Join(sl) & " встречается " & ij & " раз"
 
End Sub
Добавлено через 6 минут
Суть та-же toiai меня опередил. долго писал
0
15147 / 6420 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
30.11.2018, 22:45 6
Цитата Сообщение от qwertykek Посмотреть сообщение
и сколько из них непосредственно друг за другом.
Но не сказано конкретно "второе за первым"
Поэтому надо искать и "первое второе" и "второе первое".
0
30.11.2018, 22:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2018, 22:45
Помогаю со студенческими работами здесь

Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом.
Дан файл, содержащий текст на русском языке, в котором встречаются некоторые 2 слова. определить...

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

Определить, сколько раз в тексте встречаются заданные слова
задача во вложении

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

Определить сколько раз заданные слова встречаются в тексте.
Требуется помощь! Возникла проблема не могу решить задачу! Тема: Файлы. 1)Дан файл, содержащий...

Сколько раз входят два слова в текст и сколько раз они входят непосредственно друг за другом
Дан текст на русском языке и некоторые два слова. Определить, сколько раз они входят в текст и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru