Написать программу в С++ В тексте Найти слово, которое встречается в тексте максимальное количество раз.
на пишите код пожалуйся
на пишите код пожалуйся
Вот держи. http://ideone.com/RwiN9m
Вот ещё. Час писал. )
#include
using namespace std;
void sc(char *b, char *s, int be, int en); // функция для копирования из одной строки в другую с определённой позиции до определённой позиции
bool stcp(char *b1, int l1, char *b2,int l2); // функция сравнения без учёта регистра
int main(){
char str[] = "Hello world. This is World.[hello] 231 Hello They are in the world.";
char buffer1[20], buffer2[20], bufferMax[20];
bool inword = false,inword2 = false; // маркер, показывающий что символ находится в слове
int counter(0),c(0); // счётчик букв в слове
int begin, end, begin2, end2; // начала и концы слов в строке
int max(0); // максимальное количество слов
for(int i(0); str[i]; i++){
if(isalpha(str[i]) && inword == false){ inword = true; begin = i;}
if(!isalpha(str[i]) && i != 0 && isalpha(str[i-1])) {inword = false; end = i-1; sc(buffer1,str,begin,end);
// нашли первый компаранд - слово, в переменной buffer1
for(int j(i+1); str[j]; j++){
if(isalpha(str[j]) && inword2 == false){ inword2 = true; begin2 = j;}
if(!isalpha(str[j]) && isalpha(str[j-1])) {inword2 = false; end2 = j-1; sc(buffer2,str,begin2,end2);
// нашли второй компаранд - слово, в переменной buffer2
//if(!strcmp(buffer1,buffer2)) counter++;} // если слова одинаковы, то увеличиваем счётчик на единицу
if(stcp(buffer1,strlen(buffer1),buffer2,strlen(buffer2))) counter++;}
}
if(counter > max) {max = counter; strcpy(bufferMax,buffer1);}
counter = 0; // обнуляем счётчик
}
}
cout << str << endl;
cout << "bufferMax = " << bufferMax << " Max = " << max+1 << endl;
system("pause > nul");
return 0;
}
void sc(char *b, char *s, int be, int en)
{
int counter(0);
for(int i(be); i <= en; i++)
b[counter++] = s[i];
b[counter] = '\0';
}
bool stcp(char *b1, int l1, char *b2, int l2)
{
if(l1 != l2) return false;
for(int i(0); b1[i]; i++){
if(tolower(b1[i]) != tolower(b2[i])) return false;
}
return true;
}
#include
#include
#include
#include