Ciao ragazzi sono nuovo in sto sito e non riesco a fare un esercizio per l'università, qualcuno può aiutarmi?

In pratica c'è un file in cui sono segnati gli sport praticati da diverse persone tipo:

Marco: calcio, basket
Luigi: scherma, nuoto

e cosi via..

l'indice inverso è l'elenco degli sport seguiti dalle persone che li praticano:

Calcio: marco

ecc.


Mi chiedono di scrivere un programma che legga dallo standard input una sequenza di righe e stampa il corrispondente codice inverso ( tutti i dati sono codificati da numeri per semplicità es.: Marco(1): calcio(1), Basket(2)) e così via


per adesso io ho provato a farlo così, come dovrei procedere secondo voi?


#include <stdio.h>
#include <stdlib.h>


int main (void)


{




int i;
struct name {
int name;
int sports [6];};




const struct name names [4] =
{




{1,{'1','2','3'}},
{2,{'4','2'}},
{3,{'2','3','5'}},
{4,{'6','1',}}};




printf("Sports Nome\n");
printf("------- ----\n");




for (i=0; i<4; ++i)




printf(" %c%c%c: %i\n",
names [i].sports [0],
names [i].sports [1],
names [i].sports [2],
names [i].name );














return 0;


}