C'est un peu difficile de te donner des conseils sans faire l'exercice à ta place (ce n'est certainement pas ce que tu souhaites, hein?).
Pour la lecture d'un fichier en c++, il faut regarder la classe fstream: http://www.cplusplus.com/reference/fstream/fstream/ qui marche un peu comme std::cin.
1 2 3 4
| std::string a, b;
std::fstream fs("monfichier.txt");
fs >> a;
fs >> b; |
Pour ton programme, ce que je suggérerais serait de de faire une map (std::map) entre un médicament et les médicaments avec lesquels il interagit.
1 2 3 4 5 6 7 8
| std::map<std::string, std::vector<std::string>> interaction_map;
using interaction = std::pair<std::string, std::string> // une ligne du fichier (médicament médicament)
interaction i;
while (fs >> i) // à toi de surcharger l'opérateur >>
{
interaction_map[i.first].push_back(i.second);
interaction_map[i.second].push_back(i.first);
} |
Ensuite pour chaque médicament, tu peux connaître la liste des médicaments avec lesquels il interagit en interrogeant la map:
auto doliprane_interactions = interaction_map["doliprane"];
Partager