/*
 * MAIN
 */
int main(int argc, char **argv) {
    int temp = 0;
    int countercicli = 0;
    double tempo_esecuz, inizio;

    acquisisci(argc, argv);
    nstampa = 0;

    fout = fopen(OUTFILE, "w");
    fprintf(fout, "**** METODO UNGHERESE ****    n\nValori inseriti:\n");
    stampa();

    inizio = clock();
    normalizza();
    soluzione_iniziale_duale();

    /*finch� ci sono stazioni esposte in partenza*/
    while (esistono_a_esposti() != -1) {
        /* aggiorno soluzione duale (I J + - e delta) finch� non esistono cammini aumentanti */
        while (!cammino_aumentante())
            aggiorna_soluzione_duale();
        /*a questo punto esiste un cammino*/
        incrementa_flusso();
    }
    tempo_esecuz = clock() - inizio; /* in CLOCKS_PER_SEC */

    stampa();

    fprintf(fout, "costo totale %d\nTempo di esecuzione %lf\n", costo_totale(), tempo_esecuz);

    fclose(fout);
    printf("Risultato in OUTFILE\n");
    /*system("pause");*/
    return 0;
}
Exemplo n.º 2
0
/********************************************************************
  Programma principale
********************************************************************/
int main()
{
   int **schema, dim, i, j, risultato;
   char nomefile[20];

   printf("Inserire il nome del file: ");
   //scanf("%s", nomefile);

   schema = acquisisci("sudoku.txt", &dim); //nomefile, &dim);

   if (trova(schema, dim, 0)) {
      printf("Soluzione:\n");
      for (i=0; i<dim; i++) {
	     for (j=0; j<dim; j++) {
	        printf("%3d ", schema[i][j]);
	     }
	     printf("\n");
      }
   } else {
      printf("Nessuna soluzione trovata.\n");
   }

   for (i=0; i<dim; i++) {
      free(schema[i]);
   }
   free(schema);
   return risultato;
}
Exemplo n.º 3
0
int main(){
	int mat[MAXDIM][MAXDIM];
	int N,rmax = 0,cmax = 0;
	printf("Insert the matrix ( NxN ) size : ");
	scanf("%d",&N);
	if(N<21 && N>0){
		acquisisci(mat,N);
		calcola(mat,N,&rmax,&cmax);
		printf("\n   Row with more repetitions : %d \n",rmax);
		printf("Column with more repetitions : %d",cmax);
	}else{printf("N is bigger or smaller than max./min. matrix size ( %d )", MAXDIM);}
	return 0;
}