now the funtion PrintGraph prints better

main
Luca Lombardo 3 years ago
parent 2e022d0d51
commit e629070b97

@ -97,17 +97,40 @@ void BuildGraph()
} }
} }
// Stampo il grafo (i primi max_n_film soltanto) // // OLD VERSION
void PrintGraph(size_t max_n_film = 100) // void PrintGraph(size_t max_n_film = 100)
// {
// const size_t n = min(max_n_film, F.size()); // Potrebbero esserci meno film di max_n_film
// size_t i = 0;
// for (const auto& [id_film, film] : F) { // Loop sulle coppie id:film della mappa
// cout << id_film << "(" << film.name << ")";
// if (!film.actor_indicies.empty()) {
// cout << ":";
// for (int id_attore : film.actor_indicies)
// cout << " " << id_attore << "(" << A[id_attore].name << ")";
// }
// cout << endl;
// i++; // Tengo il conto di quanti ne ho stampati
// if (i >= n) // e smetto quando arrivo ad n
// break;
// }
// }
void PrintGraph(size_t max_n_actors = 10)
{ {
const size_t n = min(max_n_film, F.size()); // Potrebbero esserci meno film di max_n_film const size_t n = min(max_n_actors, A.size()); // Potrebbero esserci meno film di max_n_actors
size_t i = 0; size_t i = 0;
for (const auto& [id_film, film] : F) { // Loop sulle coppie id:film della mappa for (const auto& [id_attore, attore] : A) {
cout << id_film << "(" << film.name << ")"; cout << id_attore << " (" << attore.name << ")";
if (!film.actor_indicies.empty()) { if (!attore.film_indices.empty()) {
cout << ":"; cout << ":\n";
for (int id_attore : film.actor_indicies) for (int id_film : attore.film_indices) {
cout << " " << id_attore << "(" << A[id_attore].name << ")"; cout << "\t- " << id_film << " (" << F[id_film].name << ")\n";
for (int id_attore_adj : F[id_film].actor_indicies)
if (id_attore_adj != id_attore)
cout << "\t\t* " << id_attore_adj << " (" << A[id_attore_adj].name << ")\n";
}
} }
cout << endl; cout << endl;
@ -275,7 +298,7 @@ int main()
// ------------------------------------------------------------- // // ------------------------------------------------------------- //
// // FUNZIONE CERCA FILMclos // FUNZIONE CERCA FILMclos
// cout << "Cerca film: "; // cout << "Cerca film: ";
// string titolo; // string titolo;
@ -286,7 +309,7 @@ int main()
// cout << ":"; // cout << ":";
// for (int id_attore : F[id_film].actor_indicies) // for (int id_attore : F[id_film].actor_indicies)
// cout << " " << id_attore << "(" << A[id_attore].name << ")"; // cout << " " << id_attore << "(" << A[id_attore].name << ")";
// }clos // }
// cout << endl; // cout << endl;
// // FUNZIONE CERCA ATTORE // // FUNZIONE CERCA ATTORE
@ -299,11 +322,11 @@ int main()
// if (!A[id_attore].film_indices.empty()) { // if (!A[id_attore].film_indices.empty()) {
// cout << ":"; // cout << ":";
// for (int id_attore : A[id_attore].film_indices) // for (int id_attore : A[id_attore].film_indices)
// cout << " " << id_attore << "(" << A[id_attore].name << ")"; // cout << " " << id_attore << "(" << F[id_film].name << ")"; // Non worka ancora
// } // }
// cout << endl; // cout << endl;
// ------------------------------------------------------------- // // ------------------------------------------------------------- //
cout << "Grafo, grafo delle mie brame... chi è il più centrale del reame?" << endl; cout << "Grafo, grafo delle mie brame... chi è il più centrale del reame?" << endl;
for (const auto& [actor_id, farness] : closeness(100)) { for (const auto& [actor_id, farness] : closeness(100)) {

Loading…
Cancel
Save