У меня есть этот код. Я пытаюсь передать массив символов в функцию, и я получаю сообщение об ошибке:
«Ожидаемое первичное выражение до токена ‘]’ в строке 21
по которому я вызываю функцию:
#include <iostream>
#include <cstring>
using namespace std;
char* mostFrequentWord(int, char [][10]);
int main()
{
int br = 0, n, br1 = 0;
char str[100][10];
cin >> n;
for(int i=0; i<n; ++i)
{
cout << " cin >> str"<< i << "= ";
cin>> str[i];
}
cout << mostFrequentWord(n, str[][10]) <<endl;
int m;
for(int i=0; i<n-1; ++i)
{
for(int j=i+1; j<n; ++j)
{
if(!strcmp(str[i],str[j]))
{
++br;
}
}
if(br>br1)
{
br1 = br;
m = i;
}
}
cout << str[m] <<endl;
return 0;
}
char* mostFrequentWord(int n, char str[][10])
{
int m, br = 0, br1 = 0;
for(int i=0; i<n-1; ++i)
{
for(int j=i+1; j<n; ++j)
{
if(!strcmp(str[i],str[j]))
{
++br;
}
}
if(br>br1)
{
br1 = br;
m = i;
}
}
return str[m];
}
Эта строка:
cout << mostFrequentWord(n, str[][10]) <<endl;
нужно читать
cout << mostFrequentWord(n, str) <<endl;
Вы отвечаете на свой вопрос: Просто передайте ул.
cout << mostFrequentWord(n, str) <<endl;
Попробуйте вызвать функцию таким образом
mostFrequentWord(n,str)
Это должно работать. Остальная часть кода в порядке.