La idea es muy buena, gracias.
Este es el código que he creado( le he añadido dos condiciones que faltaban en el enunciado, que son que si es 0 el numero de palabras se pare el programa, i un while para utilizarlo las veces que quiera.
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
bool final = false;
while(cin >> n and not(false) ){
if(n == 0) final = true;
else {
bool paraula = false;
vector<string> paraules(n);
vector<int> cont(n);
for(int i = 0; i < n; ++i){
string s;
cin >> s;
for(int j = 0; j <= i; ++j){
if(paraules[j] == s){
++cont[j];
paraula = true;
}
}
if(not(paraula)){
paraules[i] = s;
++cont[i];
}
}
int max = 0;
for(int i = 0; i < n; ++i){
if(cont[i] > max)
max = cont[i];
}
cout << paraules[max];
}
}
}
Me compila bien pero cuando lo ejecuto no pasa nada, y nose porque.
Alguna idea ?
Gracias y adios!.