Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a program that generates a “random walk” across a 10 x 10 array. The array

ID: 1925981 • Letter: W

Question

Write a program that generates a “random walk” across a 10 x 10 array. The array will contain character (all ‘.’ Initially). The program must randomly “walk” from element to element, always going up, down, left, or right by one element. Z, in the order visited. Here’s an example of the desired output:
A . . . . . . . . .
B C D . . . . . . .
. F E . . . . . . .
H G . . . . . . . .
I . . . . . . . . .
J . . . . . . . . .
K . . R S T U V Y .
L M P Q . . . W X .
. N O . . . . . . .
. . . . . . . . . .

Explanation / Answer

#include #include #include void printarray(char array[10][10], int x, int y); /*Function prototype*/ main() { int i = 0, roll = 0, row = 0, col = 0, rowcheck = 0, colcheck = 0; /*i = number of moves. roll = value generated by the random number generator. r = row location. col = column location. rowcheck and colcheck are the incremented and decremented values of row and col respectively, used to check whether a legal move can be performed*/ char position[10][10], chtr = 'A'; /*position[10][10] = Grid for the walking. chtr = the letters of the Alphabet.*/ for (row = 0; row < 10; row++) /*Fills the 10 x 10 array with the "." character*/ { for (col = 0; col < 10; col++) { position[row][col] = '.'; } } srand(5000); /*Seeds the random number function*/ for (i = 0, row = 0, col = 0, rowcheck = 0, colcheck = 0; i < 25;) { rowcheck = row; colcheck = col; roll = rand() % 4; switch (roll) /*Determines what direction to move starting from the top left corner of the grid (bird's eye view)*/ { case 0: /*Move up*/ { rowcheck--; } case 1: /*Move left*/ { colcheck--; } case 2: /*Move down*/ { rowcheck++; } case 3: /*Move right*/ { colcheck++; } } if ((rowcheck < 0 || rowcheck > 9) || (colcheck < 0 || colcheck > 9) || (position[rowcheck][colcheck] != '.')) { continue; } else { row = rowcheck; col = colcheck; position[row][col] = chtr; chtr++; printarray(position, row, col); i++; } } exit (0); } /*Function declaration*/ void printarray(char array[10][10], int x, int y) { printf("CURRENT POSITION %d %d ", x, y); for (x = 0; x < 10; x++) /*Prints out the values of the array*/ { for (y = 0; y < 10; y++) { printf("%c", array[x][y]); } printf(" "); } printf(" "); }
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote