Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 11.03.2011
Сообщений: 29

Найдите хотя бы одно слово, которое встречается в каждом из трёх предложений.

13.03.2011, 16:38. Показов 2370. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
найдите хотя бы одно слово ,которое встречается в каждом из трёх.

решите пожалуйста.

Добавлено через 20 минут
а и ещё
если есть возможность напишите ответ,
у меня просто щас возможности посмотреть нету .
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2011, 16:38
Ответы с готовыми решениями:

Найдите хотябы одно слово которое встречается в каждом из трех предложений
форма 3 едита для ввода предложение и один едит для вывода слова и одна кнопка поиска если можно код или готовый вариант

Найдите хотя бы одно слово, которое встречается в каждом из трех заданных предложений
Найдите хотя бы одно слово, которое встречается в каждом из трех заданных предложений.

Найдите хотя бы одно слово, которое встречается в каждом из трёх заданных предложений
Был бы признателен если вы помогли бы мне с данным заданием: Найдите хотя бы одно слово, которое встречается в каждом из трех заданных...

7
121 / 109 / 29
Регистрация: 18.12.2010
Сообщений: 378
14.03.2011, 09:04
Цитата Сообщение от paskal07 Посмотреть сообщение
найдите хотя бы одно слово ,которое встречается в каждом из трёх.
А можно пример?
0
0 / 0 / 0
Регистрация: 11.03.2011
Сообщений: 29
14.03.2011, 16:02  [ТС]
в смысле?

---
Mawrat: задание не ясно сформулировано.
Цитата Сообщение от paskal07 Посмотреть сообщение
найдите хотя бы одно слово ,которое встречается в каждом из трёх.
В каждом из трёх чего? - В каждом из трёх предложений? Или имеется в виду вхождение в виде подстроки в какое-то из трёх заданных слов?
0
0 / 0 / 0
Регистрация: 11.03.2011
Сообщений: 29
17.03.2011, 11:00  [ТС]
предложении.
0
4040 / 2652 / 582
Регистрация: 11.09.2009
Сообщений: 9,465
17.03.2011, 16:34
Цитата Сообщение от paskal07 Посмотреть сообщение
найдите хотя бы одно слово ,которое встречается в каждом из трёх предложений
Предложение - это строка.
Слово - тоже строка.
Задача разбивается на две: выделить из предложения слово и найти слово в строке.
Найти в строке слово просто:
Delphi
1
if Pos(Cлово, Строка) > 0 then ... // слово в строке есть
Выделить слово немного сложнее. Надо выделять последовательность символов до разделителя (пробел, запятая, точка и др. знаки). Плюс к этому разделителей может быть несколько подряд...
В общем виде принцип такой:
Delphi
1
Слово:= Copy(Предложение, 1, Pos(Разделитель, Предложение)-1);
Более полные примеры алгоритма можно найти тут, на форуме.
0
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
22.03.2011, 11:55
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
 
const
  //Максимальное количество различающихся слов во всех строках.
  M = 15;
  //Количество строк.
  N = 3;
 
type
  //Тип, описывающий структуру для хранения множества слов.
  TVault = record
    //Количество слов.
    Len : Integer;
    //Массив слов.
    Arr : array[1..M] of String;
  end;
 
//Добавление слова в хранилище.
//В хранилище записываются только уникальные слова.
//Т. е., если слово уже присутствует в хранилище - такое слово не добавляется.
procedure AddToVault(var aVault : TVault; aSWord : String);
var
  i : Integer;
  IsFound : Boolean;
begin
  //Проверка - есть ли слово в хранилище.
  IsFound := False;
  for i := 1 to aVault.Len do begin
    if aVault.Arr[i] = AnsiUpperCase(aSWord) then begin
      IsFound := True;
      Break;
    end;
  end;
  //Если слова нет - добавляем его.
  if not IsFound then begin
    Inc(aVault.Len);
    aVault.Arr[aVault.Len] := aSWord;
  end;
end;
 
//Выделение слов из строки и запись их в хранилище.
//Т. е., формирование множества слов, присутствующих в тексте aStr.
procedure FillVault(const aStr : String; var aVault : TVault);
const
  //Множество разделителей слов.
  D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
var
  sWord : String;
  i, Len, Pos1 : Integer;
begin
  aVault.Len := 0;
  Len := Length(aStr);
  Pos1 := 0;
  for i := 1 to Len do begin
    //Пропускаем разделители.
    if aStr[i] in D then Continue;
    //Отслеживаем начало слова.
    if (i = 1) or (aStr[i - 1] in D) then Pos1 := i;
    //Отслеживаем конец слова.
    if (i = Len) or (aStr[i + 1] in D) then begin
      sWord := Copy(aStr, Pos1, i - Pos1 + 1);
      AddToVault(aVault, sWord);
    end;
  end;
end;
 
//Обнаружение слов, которые присутствуют в обоих хранилищах.
//Здесь определяется пересечение двух множеств aVault1 и aVaultRes.
//Результирующее множество слов перезаписывает содержимое aVaultRes.
procedure IntersectVault(const aVault1 : TVault; var aVaultRes : TVault);
var
  i, j, k : Integer;
begin
  k := 0;
  for i := 1 to aVaultRes.Len do
  for j := 1 to aVault1.Len do begin
    if aVaultRes.Arr[i] = aVault1.Arr[j] then begin
      Inc(k);
      aVaultRes.Arr[k] := aVaultRes.Arr[i];
      Break;
    end;
  end;
  aVaultRes.Len := k;
end;
 
var
  ArrS : array[1..N] of String;
  S : String;
  Vault1, VaultRes : TVault;
  i : Integer;
  Res : Boolean;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли и выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  repeat
    Writeln('Задайте ', N, ' строк:');
    i := 0;
    repeat
      Inc(i);
      Writeln('Строка № ', i, ':');
      Readln(ArrS[i]);
    until i = N;
 
    //Проверяем, есть ли слова, которые присутствуют во всех строках.
    Res := True;
    //Составляем множество слов из первой строки.
    FillVault(ArrS[1], VaultRes);
    for i := 2 to N do begin
      //Составляем множество слов из очередной строки.
      FillVault(ArrS[i], Vault1);
      //Определяем пересечение множеств.
      IntersectVault(Vault1, VaultRes);
      //Если пересечением множеств является пустое множество, значит
      //нет ни одного слова, которое бы присутствовало во всех строках.
      if VaultRes.Len = 0 then begin
        Res := False;
        Break;
      end;
    end;
 
    //Ответ.
    if Res then begin
      Writeln('Есть слова, которые присутствуют во всех строках.');
      Writeln('Перечень таких слов:');
      for i := 1 to VaultRes.Len do begin
        if i > 1 then Write(', ');
        Write(VaultRes.Arr[i]);
      end;
      Writeln;
    end else begin
      Writeln('Нет ни одного слова, которое присутствовало бы во всех строках.');
    end;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
0
0 / 0 / 0
Регистрация: 11.03.2011
Сообщений: 29
22.03.2011, 19:11  [ТС]
Спасибо конечно огромное ,но короче ни как ?
0
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
22.03.2011, 19:26
paskal07,
Такой вариант тестируй
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
procedure TForm1.Button1Click(Sender: TObject);
var
  i,j,k,N:Integer;
  str:string;
  Word:array of string;
  StrList:TStringList;
const
  D:array [0..7] of Char =(' ', '.', ',', ':', ';', '!', '?', '-');
 
 // процедура удаления в полученном столбце слов знаков, совпадающих с содержимым массива D
procedure Delimiter_D(StrList:TStringList);
var
  i:Integer;
begin
 for i:=0 to High(D) do
 begin
 StrList.Delimiter:=D[i];
 StrList.DelimitedText:= StrList.Text;
 end;
end;
 
begin
StrList:=TStringList.Create;
//берем первое предложение и разбиваем его на слова (в столбец)
StrList.DelimitedText:=Memo1.Lines.Strings[0];
Delimiter_D(StrList);
 //создаем массив  искомых слов и заполняем его
 SetLength(Word,StrList.Count);
for i:=0 to  StrList.Count-1 do Word[i]:=StrList.Strings[i];
 
// Теперь проверяем, есть ли такие слова(из первого предложения) в других предложениях
 for i:=0 to High(Word)-1 do // перебираем искомые слова
  begin
    N:=1;
    for j:=1 to Memo1.Lines.Count-1 do // выбираем предложения, начиная со второго
    Begin
     StrList.DelimitedText:=Memo1.Lines.Strings[j];
     Delimiter_D(StrList);
      for k:=0 to StrList.Count-1 do
       if StrList.Strings[k]=Word[i] then
       begin
        Inc(N);
        Break;
       end;
 
     if Memo1.Lines.Count=N then
     begin
      if Pos(Word[i],Str)=0 then Str:=Str+'  '+Word[i];// Pos(Word[i],Str)=0 на случай повторов слов в 1-м предложении
      N:=1;
     end;
    end;
  end;
 // выводим результат
 Label1.Caption:='Совпадают слова:  '+str;
 StrList.Free;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2011, 19:26
Помогаю со студенческими работами здесь

Найти хотя бы одно слово, которое встречается в каждом из трех заданных предложений
Найти хотя бы одно слово, которое встречается в каждом из трех заданных предложений.

Найти и вывести слово которое встречается в каждом предложении текста
Условие задачи:&quot;Найти и вывести слово которое встречается в каждом предложении текста&quot;.Плиз можно розказать словесно ход решения или...

Найдите все значения параметра, при каждом из которых неравенство имеет хотя бы одно решение
Найдите все значения параметра a, при каждом из которых следующее неравенство имеет хотя бы одно решение: 15sin^2(14x-13)&gt;=...

Найдите все значения параметра, при каждом из которых неравенство имеет хотя бы одно решение
Помогите решить задание с параметром. Найдите все значения параметра а, при каждом из которых неравенство {4}^{x} - (a+2) *...

Определить, есть ли среди трех заданных чисел хотя бы одно четное (хотя бы одно нечетное)
Даны три целых числа A, B, C. Определить, есть ли среди них хотя бы одно четное и хотя бы одно нечетное. Формат ввода Числа A, B, C, не...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru