Working in the C language, please help: For this project, you will write a C pro
ID: 3760283 • Letter: W
Question
Working in the C language, please help:
For this project, you will write a C program that will simulate and animate an ecosystem populated by two types of creatures: doodlebugs and ants. In this assignment, doodlebugs are the predators and ants are the prey. As the simulation runs, you should usually see the doodlebug population and the ant population grow and shrink in a cyclic manner; however, the built-in randomness many cause one or both creatures to die out completely.
this is on a 20x20 grid, with 100 ants and 5 doodlebugs in the beginning,
please help and comment, no C++, just C,
thank you
Explanation / Answer
#include <stdio>
const int H = 20;
const int i,j,k;
const int W = 20;
const int CON = 4;
const world[H][W] ={{1,1,1,1,1,43,56,12,45,78,13,35,67,89,90,56,34,56,78,89},
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5},
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5},
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5},
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5},
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5},
{23,14,15,16,91,43,56,12,45,78,13,35,67,89,90,56,34,56,78,89},
{8, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91, 8},
{49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 04, 56, 62, 00},
{81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 03, 49, 13, 36, 65},
{24, 55, 58, 05, 66, 73, 99, 26, 97, 17, 78, 78, 96, 83, 14, 88, 34, 89, 63, 72},
{21, 36, 23, 9, 75, 00, 76, 44, 20, 45, 35, 14, 00, 61, 33, 97, 34, 31, 33, 95},
{78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 03, 80, 04, 62, 16, 14, 9, 53, 56, 92},
{16, 39, 05, 42, 96, 35, 31, 47, 55, 58, 88, 24, 00, 17, 54, 24, 36, 29, 85, 57},
{86, 56, 00, 48, 35, 71, 89, 07, 05, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58},
{19, 80, 81, 68, 05, 94, 47, 69, 28, 73, 92, 13, 86, 52, 17, 77, 04, 89, 55, 40},
{04, 52, 8, 83, 97, 35, 99, 16, 07, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66},
{88, 36, 68, 87, 57, 62, 20, 72, 03, 46, 33, 67, 46, 55, 12, 32, 63, 93, 53, 69},
{04, 42, 16, 73, 38, 25, 39, 11, 24, 94, 72, 18, 8, 46, 29, 32, 40, 62, 76, 36}}
int main() {
int max = 0, temp_max = 0, max_x = 0, max_y = 0;
std::string direction = "";
int bug(int[][],int);
void ant(int);
for ( i = 0; i < H; i++){
for (j = 0; j < W; j++){
//Check right
if (j < (W - CON)){
temp_max = 1;
for (int k = 0; k < CON; k++){
temp_max *= world[i][j+k]; }
if (temp_max > max){
max = temp_max; max_x = j; max_y = i; direction = "right"; }
else
max=temp_max;
printf("no move");} // Check down
if (i < (W - CON)){
temp_max = 1;
for ( k = 0; k < CON; k++){
temp_max *= world[i+k][j]; }
if (temp_max > max){
max = temp_max; max_x = j; max_y = i; direction = "down"; }
else
max=temp_max;
printf("no move");} //Check down-right
if ((i < (H - CON)) && (j < (W - CON))){
temp_max = 1;
for (k = 0; k < CON; k++){
temp_max *= world[i+k][j+k]; }
if (temp_max > max){
max = temp_max; max_x = j; max_y = i;
direction = "diagonal down right"; }
else
max=temp_max;
printf("no move"); } //Check up-right
if ((i > CON) && (j < (W - CON))){ temp_max = 1;
for ( k = 0; k < CON; k++){
temp_max *= world[i-k][j+k]; }
if (temp_max > max){
max = temp_max; max_x = j; max_y = i;
direction = "diagonal up right"; } } }
}
printf("Max death rate was %d" , max) ;printf(" at (%d" max_x);
printf(",%d" max_y );
g=bug(world,CON);
void ant(g);
return 0; }
int bug(int world[H][W],int position)
{
for ( i = 0; i < H; i++){
for (int j = 0; j < W; j++){
if(world[H][W]==5 && world[i][j])
{
printf("both are in same direction");
pos=position%CON;
}}return pos;
}
void ant(int g)
{
if(g>1)
printf("ant was killed");
else
printf("ant not killed");
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.