int main(int argc, char *argv[]) { char s[] = "RandGraph.gle"; int V = atoi(argv[1]), E = atoi(argv[2]); Graph G = GRAPHrandp(V, E); GRAPHplot(G, s); if (V < 20) GRAPHshow(G); else printf("%d vertices, %d edges, ", V, E); return 0; }
int main(int argc, char * argv[]){ Graph g1 = graphScan("test1.txt"); printf("test1.txt\n"); GRAPHshow(g1); assert(eulerPath(g1) == 1); GRAPHdestroy(g1); Graph g2 = graphScan("test2.txt"); printf("test2.txt\n"); GRAPHshow(g2); assert(eulerPath(g2) == 2); GRAPHdestroy(g2); Graph g3 = graphScan("test3.txt"); printf("test3.txt\n"); GRAPHshow(g3); assert(eulerPath(g3) == 0); GRAPHdestroy(g3); return 0; }
int main(int argc, char *argv[]) { if (argv[1] == NULL || argv[2] == NULL) { GRAPHHelp(); return 0; } int V = atoi(argv[1]), E = atoi(argv[2]); Graph G = GRAPHrand(V, E); if (V < 20) GRAPHshow(G); else printf("%d vertices, %d edges, ", V, E); // printf("%d component(s)\n", GRAPHcc(G)); return 0; }
/******************************************************************** MAIN ********************************************************************/ int main (int argc, char** argv) { char cname[MAX_NAME]; char input_line[MAX_LEN]; int v,w; char* fname; Graph graph = NULL; EdgeWeight ew; TS computers = NULL; int nComputers = 0; int end = 0; FILE *fin = NULL; FILE *fout = NULL; printf("Laboratorio 12 - Esercizio 1\n\n"); if (argc != 3){ printf("Errore sul numero di argomenti passati al programma\n"); printf("Usage:\n%s input_file n_nodi_max\n",argv[0]); exit(FAILURE); } fname = strdup (argv[1]); nComputers = atoi(argv[2]); /*/ fname = strdup (INPUT_FILE); nComputers = MAX_NODES; */ fin = fopen(fname, "r"); if (fin == NULL) { printf("Errore di apertura file %s\n", fname); exit(FAILURE); } computers = TScrea(nComputers); if (computers == NULL) return FAILURE; graph = graph_read(fin, computers, nComputers); if (graph == NULL) return FAILURE; fclose(fin); while (!end) { printf("Operazioni disponibili:\n"); printf("0 -> Uscita\n"); printf("1 -> Verifica di connettivita'\n"); printf("2 -> Connectivity enforcement\n"); printf("3 -> Rimozione di un computer\n"); printf("4 -> Inserzione di una connessione\n"); printf("5 -> Rimozione di una connessione\n"); printf("6 -> Identificazione connessioni critiche\n"); printf("7 -> Visualizzazione della rete\n"); printf("8 -> Stampa su file della rete\n"); printf("Inserire numero operazione: "); scanf("%s", input_line); switch (input_line[0]) { case '1': if( GRAPHconnCheck(graph) == 1) //verifica connettivita { printf("\nVerifica della connettivita' superata\n\n"); } else { printf("\nVerificata della connettivita' FALLITA\n\n"); } break; case '2': if( GRAPHconnCheck(graph) == 1 ) //conn. enforcement { printf("\nErrore, il grafo e' gia' connesso\n\n"); break; } graph_conn_enforce(graph, computers); break; case '3': printf("\nNome del computer da rimuovere: "); //rimozione computer scanf("%s",cname); v = TScerca(computers,cname); if (v < 0) { printf("Nodo non trovato\n\n"); break; } GRAPHremoveV(graph,v); break; case '4': printf("\nNome del primo estremo della connessione da inserire: "); //inserzione connessione scanf("%s",cname); v = TScercaOAggiungi(computers,cname); if (v < 0) { printf("Impossibile inserire il nuovo nodo\n\n"); break; } printf("Nome del seconde estremo della connessione da inserire: "); scanf("%s",cname); w = TScercaOAggiungi(computers,cname); if (w < 0) { printf("Impossibile inserire il nuovo nodo\n\n"); break; } printf("Velocita' della connessione: "); scanf("%d", &ew.speed); if (ew.speed < 0) { printf("Errore, velocita' minore di 0\n\n"); break; } GRAPHinsertE(graph,v,w,ew); break; case '5': printf("\nNome del primo estremo della connessione da rimuovere: "); //rimozione connessione scanf("%s",cname); v = TScerca(computers,cname); if (v < 0) { printf("Nodo non trovato\n\n"); break; } printf("Nome del secondo estremo della connessione da rimuovere: "); scanf("%s",cname); w = TScerca(computers,cname); if (w < 0) { printf("Nodo non trovato\n\n"); break; } GRAPHremoveE(graph,v,w); break; case '6': if( GRAPHconnCheck(graph) != 1 ) //connessioni critiche { printf("\nErrore, il grafo non e' connesso\n\n"); break; } graph_critic_conn(graph,computers); break; case '7': GRAPHshow(graph, computers); //visualizzazione rete break; case '8': printf("\nNome del file in output: "); //stampa rete su file scanf("%s",cname); fout=fopen(cname,"w"); if (fout == NULL) { printf("Errore di apertura file %s\n\n", fname); exit(FAILURE); } GRAPHprint(graph, computers, fout); fclose(fout); break; case '0': printf("\nProgramma terminato\n"); end = 1; break; default: printf("Operazione sconosciuta\n\n"); } } GRAPHfree(graph); TSlibera(computers); return SUCCESS; }