求解C语言这道题的详细源代码 5
随机产生一个16行16列的二维数组的元素(元素值100以内),编写程序实现寻找并输出该二维数组极值点的功能。对于m行n列的矩阵A,如果A的非边界元素A[i][j]大于同行...
随机产生一个16行16列的二维数组的元素(元素值100以内),编写程序实现寻找并输出该二维数组极值点的功能。对于m行n列的矩阵A,如果A的非边界元素A[i][j]大于同行的左右两个和同列的上下两个元素(相邻的上下左右4个元素),那么就称A[i][j]是矩阵的局部最大值。
输出格式为:
?行?列是局部最大值 展开
输出格式为:
?行?列是局部最大值 展开
1个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int i,j,i1,j1,k,n=0,a[16][16];
srand(time(0));
for(i=0; i<16; i++)
{ for(j=0; j<16; j++)
{ a[i][j]=rand()%100;
printf("%3d",a[i][j]);
}
printf("\n");
}
for(i=1; i<15; i++)
for(j=1; j<15; j++)
{ k=1;
for(i1=-1; i1<2; i1++)
for(j1=-1; j1<2; j1++)
if(a[i+i1][j+j1]>a[i][j])k=0;
if(k)
{ printf("%2d行%2d列是局部最大值\t",i,j);
if(++n%3==0)printf("\n");
}
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询