精华内容
下载资源
问答
  • 2022-01-06 16:15:33

    给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。

    输入格式:

    输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。

    输出格式:

    每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。

    输入样例1:

    4 5
    1 1 1 1 1
    1 3 9 3 1
    1 5 3 5 1
    1 1 1 1 1

    结尾无空行

    输出样例1:

    9 2 3
    5 3 2
    5 3 4

    结尾无空行

    输入样例2:

    3 5
    1 1 1 1 1
    9 3 9 9 1
    1 5 3 5 1

    输出样例2:

    None 3 5
    #include <stdio.h>
    main()
    {
    	int m,n;
    	scanf("%d%d",&m,&n);
    	int a[m][n];
    	int i,j,flag=1;
    	for(i=0;i<m;i++)
    	{
    		for(j=0;j<n;j++)
    		{
    			scanf("%d",&a[i][j]);
    		}
    	}	
    	for(i=1;i<m-1;i++)
    	{
    		for(j=1;j<n-1;j++)
    			{
    				if(a[i][j]>a[i+1][j] && a[i][j]>a[i-1][j] && a[i][j]>a[i][j-1] && a[i][j]>a[i][j+1])
    				{
    					printf("%d %d %d",a[i][j],i+1,j+1);
    					printf("\n");
    					flag=-1;
    				}
    			}
    	}
    	if(flag==1)
    	{
    		printf("None %d %d\n",m,n);
    	}
        return 0;
    } 

    更多相关内容
  • 第4章-23 求矩阵局部极大值分析改进题目解法 分析 定义一个判断部分最大值的函数:大于四周的函数,就返回True 对非边界值的判断:范围是range(1,n-1) Python中append和extend的区别 list.append(object) 向列表...

    第4章-23 求矩阵的局部极大值

    分析

    定义一个判断部分最大值的函数:大于四周的函数,就返回True
    对非边界值的判断:范围是range(1,n-1)
    Python中append和extend的区别

    list.append(object) 向列表中添加一个对象object
    list.extend(sequence) 把一个序列seq的内容添加到列表中
    

    改进

    如果使用a.appen(),那么大列表里的元素是小列表。

    a.append(list(map(int,input().split())))
    

    那么就可以直接通过i,j访问特定行列下标:

    if a[i][j]>a[i][j-1] and a[i][j]>a[i][j+1] and a[i][j]>a[i+1][j] and a[i][j]>a[i-1][j]:
    

    题目

    给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。
    输入格式:

    输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。
    输出格式:

    每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。

    解法

    def partmax(column,m,n,lst=[]):
        if lst[m*column+n]>lst[m*column+n+1] and lst[m*column+n]>lst[m*column+n-1] and lst[m*column+n]>lst[(m-1)*column+n] and lst[m*column+n]>lst[(m+1)*column+n]:
            return True
        return False
    m,n=map(int,input().split())
    lst=[]
    cnt=0
    for i in range(m):
        lst.extend(list(map(int,input().split())))
    for i in range(1,m-1):
        for j in range(1,n-1):
            if partmax(n,i,j,lst)==True:
                cnt+=1
                print("{} {} {}".format(lst[i*n+j],i+1,j+1))#i,j和实际的行列下标相差1,输出需要加上1
    if cnt==0:
        print("None {} {}".format(m,n))
    
    展开全文
  • C程序---求矩阵局部极大值

    千次阅读 2020-04-14 21:56:38
    题目:给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入样例1: 4 5 1 1 1 1 1 1 ...

    题目:给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。

    输入样例1:

    4 5

    1 1 1 1 1

    1 3 9 3 1

    1 5 3 5 1

    1 1 1 1 1

    输出样例1:

    9 2 3

    5 3 2

    5 3 4

    #include <stdio.h>
    #include <stdlib.h>
    #define M 4
    #define N 5
    
    int main()
    {
        int i ,j ,n,m,a[M][N] ,part_max = 0  ;
        printf("input  m ,n : ");
        scanf("%d %d",&m,&n);
        for(i = 0 ;i < m ;i++)
        {
            for(j = 0; j < n ;j++)
            {
                  scanf("%d" ,&a[i][j]);
            }
        }
    
        for(i = 1 ; i < m-1 ;i ++)
        {
              for(j = 1 ;j < n-1 ;j++)
              {
                    if(a[i][j] > a[i-1][j] && a[i][j] > a[i][j-1] && a[i][j] > a[i+1][j] && a[i][j] > a[i][j+1]  )
                    {
                         part_max = a[i][j] ;
                           printf("%d %d %d \n",a[i][j],i+1,j+1);
                    }
                    else
                      continue ;
    
    
              }
        }
    
        return 0;
    }
    

     

    展开全文
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...

     

    给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。

    输入格式:

    输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。

    输出格式:

    每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。

    输入样例1:

    4 5
    1 1 1 1 1
    1 3 9 3 1
    1 5 3 5 1
    1 1 1 1 1
    

    输出样例1:

    9 2 3
    5 3 2
    5 3 4
    

    输入样例2:

    3 5
    1 1 1 1 1
    9 3 9 9 1
    1 5 3 5 1
    

    输出样例2:

    None 3 5
    

    【Python参考代码】

    #By yangbo 2020.07.31
    n,m=map(int,input().split())
    matrix,flag=[],0
    for i in range(n):#输入的矩阵
        matrix.append(list(map(int,input().split())))
    
    for i in range(1,n-1):
        for j in range(1,m-1):# \:续行符
            if matrix[i][j]>matrix[i][j-1] and \
               matrix[i][j]>matrix[i][j+1] and \
               matrix[i][j]>matrix[i-1][j] and \
               matrix[i][j]>matrix[i+1][j] :
                print(matrix[i][j],i+1,j+1)#其中行、列编号从1开始
                flag +=1
              
    if flag == 0 :
        print("None",n,m)

     

     

    展开全文
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...
  • 求矩阵局部极大值

    千次阅读 2020-11-22 11:50:52
    7-1 求矩阵局部极大值 (15分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式...
  • PTA 求矩阵局部极大值

    千次阅读 2019-03-21 19:47:56
    求矩阵局部极大值 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在...
  • #include<stdio.h> int main() { int a[6][6]; int b[6]={0}; int i,m,n,j; scanf("%d %d",&m,&n); for(i=0;i<m;i++)//m行 { for(j=0;j<n;j++)//n列 { scanf("%d",&... b[i]=.
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...
  • Description:给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 Input:输入在第一行中给出...
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...
  • c语言练习 8-2. 求矩阵局部极大值

    千次阅读 2014-07-15 22:40:14
    给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第1行中给出矩阵...
  • pintia题库,c语言 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。
  • 本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。 输出格式: 每行按照“元素...
  • 7-1 求矩阵局部极大值 (15 分)

    千次阅读 2018-12-27 15:07:34
    7-1 求矩阵局部极大值 (15 分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入...
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...
  • 7-1求矩阵局部极大值(15分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式...
  • 求矩阵局部极大值 (15 分)

    千次阅读 2019-02-26 15:17:55
    求矩阵局部极大值 (15 分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入...
  • 7-28 求矩阵局部极大值 (15 分)

    千次阅读 2019-09-27 20:52:44
    7-28 求矩阵局部极大值 (15 分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入...
  • 7-1 求矩阵局部极大值

    千次阅读 2018-03-18 11:59:29
    #include&lt;stdio.h&gt; int main() { int m, n, num[20][20], flag = 0,i,j; scanf("%d %d", &amp;m, &amp;n); for (i = 0; i &lt; m; i++){ for (j = 0;... j++){ ...
  • 实验7-2-3 求矩阵局部极大值(15 分)

    万次阅读 多人点赞 2018-04-20 14:23:40
    实验7-2-3 求矩阵局部极大值(15 分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素, 那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。...
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置 输入格式: 输入在第1行中给出矩阵A的行数M...
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...
  • 7-8 求矩阵局部极大值 (15分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式...
  • 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 输入格式: 输入在第一行中给出矩阵A的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,755
精华内容 11,502
关键字:

求矩阵的局部极大值

友情链接: Strategy-Pattern.zip