Как вывести из мультиструктуры (1 уровень - страны, 2 уровень - спортсмены)тех спортсменов, чьи имена и виды спорта совпадают, но у них страны разные?
У меня есть мультиструктура:
typedef struct Sportsman
{
string surname;
string category;
string type;
Sportsman * next;
}TSportsman;
typedef struct Country
{
string name;
string currency;
Country * next;
Sportsman * sublevel;
}TCountry;
Я записываю страны и спортсменов этих стран через функцию, после чего обрабатываю эту структуру. Требуется написать функцию, которая выводит спортсменов с одинаковым фамилиями и видами спорта, но они должны быть из разных стран. Я плохо понимаю, как это можно сделать, но попытался написать функцию. Тут, я уверен, очень много ошибок. Помогите пожалуйста решить!
void showSameSurname(TCountry * &Start)
{
TCountry * wpC=Start;
TSportsman * wpS=NULL;
string tempSurname, tempType;
while(wpC!=NULL)
{
wpS=wpC->sublevel;
while(wpS!=NULL)
{
tempSurname=wpS->surname;
tempType=wpS->type;
wpC=wpC->next;
while(wpC!=0)
{
if(wpC->sublevel->surname==tempSurname && wpC->sublevel->type==tempType){
cout << tempSurname << ": " << tempType << endl;
cout << wpC->sublevel->surname << ": " << wpC->sublevel->type << endl << endl;
wpC->sublevel->next;
}
else wpC->sublevel->next;
}
if(wpC->next!=NULL)wpC=wpC->next;
else break;
wpS=wpS->next;
}
}
}