📄 main.c
字号:
/*******************************************//* Simple Genetic Algorithm - SGA *//* Haploid Version *//* (c) David Edward Goldberg 1986 *//* All Rights Reserved *//* C translation by R.E. Smith *//* v1.1 modifications by Jeff Earickson *//*******************************************/#include "sga.h"main(argc,argv)int argc;char *argv[];{ struct individual *temp; FILE *fopen(); void copyright(); char *malloc(); /* determine input and output from program args */ numfiles = argc - 1; switch(numfiles) { case 0: infp = stdin; outfp = stdout; break; case 1: if((infp = fopen(argv[1],"r")) == NULL) { fprintf(stderr,"Input file %s not found\n",argv[1]); exit(-1); } outfp = stdout; break; case 2: if((infp = fopen(argv[1],"r")) == NULL) { fprintf(stderr,"Cannot open input file %s\n",argv[1]); exit(-1); } if((outfp = fopen(argv[2],"w")) == NULL) { fprintf(stderr,"Cannot open output file %s\n",argv[2]); exit(-1); } break; default: fprintf(stderr,"Usage is: sga [input file] [output file]\n"); exit(-1); } /* print the author/copyright notice */ copyright(); if(numfiles == 0) fprintf(outfp," Number of GA runs to be performed-> "); fscanf(infp,"%d",&maxruns); for(run=1; run<=maxruns; run++) { /* Set things up */ initialize(); for(gen=0; gen<maxgen; gen++) { fprintf(outfp,"\nRUN %d of %d: GENERATION %d->%d\n", run,maxruns,gen,maxgen); /*application dependent routines*/ application(); /* create a new generation */ generation(); /* compute fitness statistics on new populations */ statistics(newpop); /* report results for new generation */ report(); /* advance the generation */ temp = oldpop; oldpop = newpop; newpop = temp; } freeall(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -