Code:
/*
#define NRows 21 // Dimensions for grid
#define NCols 51
#include <stdio.h>
#include <string.h>
/**** FUNCTION PROTOTYPES ****/
// Reset grid to original settings
void resetGrid(char grid[][NCols]);
// Add box to existing grid starting at (x, y) with specified width & height
void addBox(char grid[][NCols], int x, int y, int width, int height);
// Print current grid contents
void printGrid(char grid[][NCols]);
/***** END FUNCTION PROTOTYPES *****/
void main() {
char myGrid[NRows][NCols];
void main()
{
int arr[nrow][ncols];
int rows,columns;
int rownum, colnumn, value,i=0,j=0;
char command[15];
char set[]="set";
char add[]="add";
char reset[]="reset";
char exit[]="exit";
while(1)
{
printf("Input coordinates: ");
scanf("%d %d",&rows,&columns);
if (((rows>20)|| (rows<0))||((columns>50)|| (columns<0)))
printf("Improper dimensions %i %i \n",rows,columns);
else
break;
while (1)
{
printf("Input command: ");
scanf("%s",&command);
if (strcmp(set,command)==0)
{
printf("Input row, column, and value: ");
scanf("%d %d %d",&rownum,&colnumn,value);
readval(&rownum,&colnumn,&value,rows,columns);
printf("%d %d %d",rownum,colnumn,value);
arr[rownum][colnumn]=value;
printgrid(arr,rows,columns);
}
if (strcmp(add,command)==0)
{
printf("Input row, column, and value: ");
scanf("%d %d %d",&rownum,&colnumn,value);
readval(&rownum,&colnumn,&value,rows,columns);
arr[rownum][colnumn]+=value;
printgrid(arr,rows,columns);
}
if (strcmp(add,command)==0)
{
printf("Input row, column, and value: ");
scanf("%d %d %d",&rownum,&colnumn,value);
readval(&rownum,&colnumn,&value,rows,columns);
arr[rownum][colnumn]+=value;
printgrid(arr,rows,columns);
}
if(strcmp(reset,command)==0)
{
for( i=0;i<rows;i++)
{
for( j=0;j<columns;j++)
{
arr[i][j]=0;
}
}
printgrid(arr,rows,columns);
continue;
}
if(strcmp(exit,command)==0)
{
break;
}
else
printf("Value is invalid please try again");
}
}
}
void readval(int *numrows, int *numcolm,int *val,int rowmax,int colmax)
{
char store;
while(1)
{
if((*numrows>=rowmax)|| (&numrows<0))
printf("Invalid row number");
if((*numcolm>=colmax)|| (&numcols<0))
printf("Invalid row number");
else
break;
printf("Input number of rows, columns, and value: ");
scanf("%i %i %i",numrows,numcols,val);
}
}
void printgrid(int max[nrow][ncols],int r, int c)
{
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("%7i \n",max[i][j]);
}
}
}
The objective of the assignment can be found here