#include #include #define XSTART 180 #define YSTART 100 #define WIDTH 400 #define HEIGHT 175 void printargs(int argc, char * argv[]); void inputppm(char * filename, char *** red, char *** green, char *** blue); void outputppm(char * outfilename, char **red, char **green, char **blue); void outputdensitypgm(char * outfilename, char **red, char **green, char **blue); void main(int argc, char * argv[]) { char * infilename; FILE * infile; char ** red; char ** green; char ** blue; int i, j, infilenamelength; printargs(argc, argv); if (argc < 2) { printf("Usage: 1d filename\n"); exit(0); } infilename = argv[1]; if ((infile = fopen(infilename, "rb")) == NULL) { printf("Couldn't find %s\n", infilename); exit(0); } printf("Mallocing red[].\n"); red = (char **) malloc (WIDTH * sizeof (char *)); for (i=0; i grey is %3d\n", red[i][j], green[i][j], blue[i][j], value); fprintf(outfile, "%c", value); } } fclose(outfile); } void printargs(int argc, char * argv[]) { int i; for (i=0; i