/* Give me a one page write up of line by line what the code below is doing .*/
ID: 665800 • Letter: #
Question
/*Give me a one page write up of line by line what the code below is doing.*/
#include <stdio.h>
#define IMAX 5
#define JMAX 4
FILE *inptr;
int main()
{
float elevation[IMAX][JMAX];
float rowmax, rowmin, colmax, colmin;
int jrmax[IMAX], jrmin[IMAX], icmax[JMAX], icmin[JMAX];
int i,j;
inptr = fopen("elevation.dat", "r");
printf("INPUT a %d by %d array from a data file: ", IMAX, JMAX);
for(i=0; i < IMAX; i++)
{
for(j=0; j < JMAX; j++)
{
fscanf(inptr, "%f", &elevation[i][j]);
}
}
for(i = 0; i<IMAX; i++)
{
rowmax = elevation[i][0];
rowmin = rowmax;
jrmax[i] = 0;
jrmin[i] = 0;
for(j = 0; j< JMAX; j++)
{
if(rowmax<elevation[i][j])
{
rowmax = elevation[i][j];
jrmax[i] = j;
}
if(rowmin>elevation[i][j])
{
rowmin = elevation[i][j];
jrmin[i] = j;
}
}
}
for(j = 0; j<JMAX; j++)
{
colmax = elevation[0][j];
colmin = colmax;
icmax[j] = 0;
icmin[j] = 0;
for(i = 1; i< JMAX; j++)
{
if(colmax<elevation[i][j])
{
colmax = elevation[i][j];
icmax[j] = i;
}
if(colmin>elevation[i][j])
{
colmin = elevation[i][j];
icmin[j] = i;
}
}
}
printf("OUTPUT ");
printf(" Saddle Points ");
printf(" row column elevation ");
for(i=0; i<IMAX; i++)
{
j = jrmax[i];
if(icmin[j]==i)
{
printf(" %d %d %5.2f ", i, j, elevation[i][j]);
}
j = jrmin[i];
if(icmax[j]==i)
{
printf(" %d %d %5.2f ", i, j, elevation[i][j]);
}
}
return 0;
}
Explanation / Answer
#include <stdio.h>
#define IMAX 5
#define JMAX 4
FILE *inptr;
int main()
{
float elevation[IMAX][JMAX];
float rowmax, rowmin, colmax, colmin;
int jrmax[IMAX], jrmin[IMAX], icmax[JMAX], icmin[JMAX];
int i,j;
inptr = fopen("elevation.dat", "r");
printf("INPUT a %d by %d array from a data file: ", IMAX, JMAX);
for(i=0; i < IMAX; i++)
{
for(j=0; j < JMAX; j++)
{
fscanf(inptr, "%f", &elevation[i][j]);
}
}
for(i = 0; i<IMAX; i++)
{
rowmax = elevation[i][0];
rowmin = rowmax;
jrmax[i] = 0;
jrmin[i] = 0;
for(j = 0; j< JMAX; j++)
{
if(rowmax<elevation[i][j])
{
rowmax = elevation[i][j];
jrmax[i] = j;
}
if(rowmin>elevation[i][j])
{
rowmin = elevation[i][j];
jrmin[i] = j;
}
}
}
for(j = 0; j<JMAX; j++)
{
colmax = elevation[0][j];
colmin = colmax;
icmax[j] = 0;
icmin[j] = 0;
for(i = 1; i< JMAX; j++)
{
if(colmax<elevation[i][j])
{
colmax = elevation[i][j];
icmax[j] = i;
}
if(colmin>elevation[i][j])
{
colmin = elevation[i][j];
icmin[j] = i;
}
}
}
printf("OUTPUT ");
printf(" Saddle Points ");
printf(" row column elevation ");
for(i=0; i<IMAX; i++)
{
j = jrmax[i];
if(icmin[j]==i)
{
printf(" %d %d %5.2f ", i, j, elevation[i][j]);
}
j = jrmin[i];
if(icmax[j]==i)
{
printf(" %d %d %5.2f ", i, j, elevation[i][j]);
}
}
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.