Цитата:
Сообщение от ololo-schoolboy
На c++ можно так, правда это кривой вариант но он работает:
Код:
#include<iostream>
#include<locale.h>
using namespace std;
int main()
{
char str[]="САВРАСЫЙ, ПОТОП";
int start_word=0;
setlocale (LC_ALL,"rus");
for(int i=0;str[i] && str[i+3];++i)
{
if(str[i]==' ' || str[i+1]==' ')
{
do{
++i;
}while(str[i]==' ');
start_word=i;
}
for(int j=i+2, k=0;str[j+1] && str[j+1]!=' ';++j)
if(str[i]==str[j+1] && str[i+1]==str[j])
{
for(k=start_word;str[k]!=' ' && str[k];++k)
cout.put(str[k]);
cout<<endl;
i=str[k]?k:k-1;
start_word=k+1;
break;
}
}
cin.get();
return 0;
}
ps мб кто знает какой крутой алгоритм как это можно сделать ? ну типа произвести сортировку подсчетом, а потом.... ну или что ни буть в таком духе, а еще круче регулярными выражениями, а то самому интересно....
|
Думаю этого хватит, также если есть еще интересные варианты можете выложить.Заранее спс всем!