首页 > 其他 > 详细

PTA实验7-2-3 求矩阵的局部极大值 (15point(s)) Easy only once

时间:2020-02-26 12:05:56      阅读:411      评论:0      收藏:0      [点我收藏+]

基本思想:

和三维矩阵的遍历类似,注意别超出数组大小;

 

关键点:

无;

 

#include<stdlib.h>
#include<stdio.h>
#define maxn 21

int m,n;
int index = 0;

int ma[maxn][maxn];

int X[4] = { 0,1 ,0,-1};
int Y[4] = { 1,0,-1,0 };


int charge(int x, int y) {
	for (int i = 0; i < 4; i++) {
		int nx = x + X[i];
		int ny = y + Y[i];
		if (ma[nx][ny] >= ma[x][y]) {
			//非极大值;
			return 0;
		}
	}
	return 1;
}

int main(){
	int a;
	scanf("%d%d",&m,&n);
	int sum = 0;
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < n; j++) {
			scanf("%d", &ma[i][j]);

		}
	}
	for (int i = 1; i < m-1; i++) {
		for (int j = 1; j < n - 1; j++) {
			if (charge(i, j)==1) {
				//如果符合;
				printf("%d %d %d\n", ma[i][j], i+1,j+1);
				index++;
			}
		}
	}
	if (index == 0) {
		printf("None %d %d\n", m, n);
	}
	return 0;
}

  

PTA实验7-2-3 求矩阵的局部极大值 (15point(s)) Easy only once

原文:https://www.cnblogs.com/songlinxuan/p/12366050.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!