All pastes #946519 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-03-17 19:36 UTC
rendered paste body
/* Name: Asif Rashid */
/* McGill ID: 260268820 */
/* Course: Computers in Engineering */
/* Assignement: A4 */

# include <stdio.h>
# include <time.h>
# include <stdlib.h>

int main() {
	int x, y, i, j;
	int elite[5]; // the first row is taken to be elite
	int specpool[6][5]; // 6 rows of 5 numbers each (pool of 6 specimens, each with 5 chromosomes)
	int cycle; // reproduction cycle

srand((unsigned) time(NULL));  // s stands for seed

   /* Read number of cycles */
   printf("Please type in the number of reproduction cycles to be carried out\n");
   scanf("%i" , &cycle);
   printf("\n %i \n", cycle);
   printf("\n\n");  // Just to give the program a good look

	 /* Initial values for each specimen are randomly generated integers, between 00 and 99. They are random as they are based on the time that this code is compiled.  */
	 for(i=0;i<6; i++){   // i taken first as C is row major
		for(j=0;j<5; j++){
			y = 100*rand()/(RAND_MAX+1);  // This gives us the random integer for each chromosome spot
			specpool[i][j] = y;
			}
		 }

	 /* Random integers for the elite specimen*/
	 for(j=0;j<5; j++){
		elite[j]= specpool[0][j];   // I spot is zero as it is the first column
		}

		/* Print the Elite specimen */
	printf("Your randomly selected elite specimen is: ");
	for(j=0;j<5;j++){
		printf("%i|", elite[j]);
		}
	  printf("\n\n");   // Just to give the program a good look

	  /* Print the other pools with their specimens */
	printf("Original Pool\n");
	for(i=0;i<6; i++){
		printf("Specimen #%i: ", i+1, i+1);
		for(j=0;j<5; j++){
			printf("%i|", pool[i][j]);
			}
		printf("\n\n");   // Just to give the program a good look
		}

		/*Mix specimen with other specimens*/
	for(x=0; x < cycle;x++){
		printf("Cycle #%i\n",x+1);
		for(i=1; i < 6; i++){
			printf("Specimen #%i: ", i+1);
			for(j=0; j < 5; j++){
				y = (int)rand()/RAND_MAX;
				if (y == 1){
					pool[i][j]= elite[j];}
				printf("%i|", pool[i][j]);
			}
		printf("\n");
		}
	}

		return 0;
}