Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 15:32   #11
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Это для наивного студента два, а препод возьми да и напиши:
Жестокий препод, получается )

Если все-таки в предложении будет одна точка, то вот оно:
Код:
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
#include <vector>
using namespace std;

int main()
{
ifstream fin("1.txt");
string str,str2;
vector<string> mas;
vector<int> M;
char c;
int i,j,l;
size_t k;
bool b,fl;

//---------------
// загоняем предложения в вектор
//--------------
str = "";
while(!fin.eof())
 {
  c = fin.get();
  if(c=='\n') continue;
  if(c=='.' || c=='!' || c=='?')
   {
    mas.push_back(str);
    str="";
   }
  else
   str += c;
 }
//---------------------
fin.close();
//------

for(i=0; i<mas.size(); i++)
 cout<<i<<":  "<<mas[i]<<endl;
//-----------------
cout<<endl;
for(i=0; i<mas.size()-1; i++)
 {
  fl = false;
  k = mas[i].find_last_of(" ,");
  str = mas[i].substr(k+1);
  M.push_back(i);
  for(j=i+1; j<mas.size(); j++)
   {
    for(b=false,l=0; l<M.size(); l++)
     if(j==M[l]) b = true;
    if(b) continue;

    k = mas[j].find_last_of(" ,");
    str2 = mas[j].substr(k+1);
    if(str==str2)
     {
      if(!fl) { cout<<"Predlozhenie "<<i; fl = true; }
      cout<<" --- "<<"Predlozhenie "<<j;
      M.push_back(j);
     }

   }
   if(fl) cout<<endl;
 }

 getch();
 return 0;
}
-----------------------
Также прикрепляю экзешник.
Вот содержимое файла для теста (1.txt).
Код:
Hello! It is the test. Aha, test. This is test, yes.
Word word word. Word test.
Text text word.
Программа выдаст:
Код:
0:  Hello
1:   It is the test
2:   Aha, test
3:   This is test, yes
4:  Word word word
5:   Word test
6:  Text text word

Predlozhenie 1 --- Predlozhenie 2 --- Predlozhenie 5
Predlozhenie 4 --- Predlozhenie 6
Вложения
Тип файла: rar test2.rar (145.3 Кб, 14 просмотров)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.05.2009, 17:26   #12
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Гениально! Спасибо большое!
Однако, чтобы самому окончательно разобраться, разрешите задать следующие вопросы:
1) size_t - что означает данный тип?
2) find_last_of(" ,") - это функция, определяющая номер символа только поседнего пробела и запятой?
3) substr?
VadEr вне форума Ответить с цитированием
Старый 07.05.2009, 17:34   #13
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
1) size_t - что означает данный тип?
Это целый беззнаковый тип. Используется для индексации массивов.
В принципе, можно использовать int, но так корректнее.
Цитата:
2) find_last_of(" ,") - это функция, определяющая номер символа только поседнего пробела и запятой?
Метод возвращает позицию первого пробела или запятой, начиная с конца.
Цитата:
3) substr?
Возвращает подстроку, начиная с позиции, указанной в аргументе.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.05.2014, 15:42   #14
Tanushangel
 
Регистрация: 17.03.2014
Сообщений: 3
По умолчанию

Помогите, пожалуйста! Не могу найти код для поиска последнего слова в предложении!
Tanushangel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск слов в строке Neymexa Общие вопросы C/C++ 3 16.12.2008 18:33
Поиск одинаковых слов (Delphi 7) hooch Помощь студентам 4 27.11.2008 20:14
Поиск слов в тексте pleer Общие вопросы Delphi 5 23.09.2007 08:19