精华内容
下载资源
问答
  • 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息: 每个矩阵信息的第一行给出一个不超过10的正整数n。 随后n行,每行给...
    /*上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
    
    本题要求编写程序,判断一个给定的方阵是否上三角矩阵。
    
    输入格式:
    输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:
    每个矩阵信息的第一行给出一个不超过10的正整数n。
    随后n行,每行给出n个整数,其间以空格分隔。
    
    输出格式:
    每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。
    输入样例:
    2
    3
    1 2 3
    0 4 5
    0 0 6
    2
    1 0
    -8 2
    输出样例:
    YES
    NO
    */
    
    #include <stdio.h>
    #include <string.h>
    void judgematrix( int (*)[] , int size);
    void getmatrix( int (*)[] , int size);//复习多维数组的声明方式。 
    int main(){
    	int matrix;
    	 scanf("%d",&matrix);
    	int i;
    	int test[10][10]={0};
    	int size;
    	for( i=0 ;i<matrix ; i++){
    		 scanf("%d",&size);
    		getmatrix( test , size);
    		judgematrix( test , size );
    		//memset( test , 0 , sizeof(test)); //不需要初始化,因为size也改变了 
    	}
    } 
     
    void judgematrix( int (*test)[10] , int size){
    	int r,c;
    	for(r=1;r<size;r++){//第一行不用判断。 
    		for(c=0;c<r;c++){
    			if ( test[r][c] != 0 ){
    				printf("NO\n");
    				r=7000;//利用现有变量当“flag” 
    				break;//不要以为r=7000直接跳出循环,这里有两层。 
    			}
    		}
    	}
    	//if( r==size && c == size-1 ) 	printf("YES\n");
    	if( r!=7001 ) 	printf("YES\n");//注意加一,复习一下这种出口写法。	
    }
    
    void getmatrix( int (*test)[10] , int size){
    	int r , c;
    	for(r=0 ; r < size ; r++){
    		for(c=0 ; c<size ; c++){
    			scanf("%d",&test[r][c]);
    		}
    	}
    }
    
    展开全文
  • 判断上三角矩阵(PTA | 程序设计类实验辅助教学平台 https://pintia.cn/problem-sets/12/problems/326 C语言实训题) 任务描述 上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的...
    /*8. 判断上三角矩阵(PTA | 程序设计类实验辅助教学平台  
    https://pintia.cn/problem-sets/12/problems/326 C语言实训题)
    任务描述
    上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
    输入格式:
    输入第一行给出一个正整数TT,为待测矩阵的个数。接下来给出TT个矩阵的信息:
    每个矩阵信息的第一行给出一个不超过10的正整数nn。随后nn行,每行给出nn个整数,其间以空格分隔。
    输出格式:
    每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出"YES",否则输出"NO"。
    输入样例:
    2
    3
    1 2 3
    0 4 5
    0 0 6
    2
    1 0
    -8 2
    输出样例:
    YES
    NO
    */
    #include<stdio.h>


    int main(void)
    {
    int tt,nn,i,j,c[11][11];
    int flag=1;
    scanf("%d",&tt);
    while(tt--){
    scanf("%d",&nn);
    for(i=0;i<nn;i++){
    for(j=0;j<nn;j++){
    scanf("%d",&c[i][j]);
    }
    }
    for(i=1;i<nn;i++){
    for(j=0;j<i;j++){
    if(c[i][j]==0) //可以优化?
    flag*=1;
    else
    flag*=0;
    }
    }
    if(1==flag)
    printf("YES\n");
    else
    printf("NO\n");
    }

    return 0;
    }
    展开全文
  • c语言 判断上三角矩阵

    千次阅读 2020-03-27 20:05:42
    本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n...

    上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
    本题要求编写程序,判断一个给定的方阵是否上三角矩阵。
    输入格式:
    输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。
    输出格式:
    每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。

    我的答案:

    #include<stdio.h>
    int main()
    {
    	int T;//待测矩阵的个数
    	scanf("%d", &T);
    	int i, j, t, flag, n;
    	int a[10][10];
    	for (t = 1; t <= T; t++)//循环矩阵个数
    	{
    		flag = 1;
    		scanf("%d", &n);//输入行列数
    		for(i = 0; i < n; i++)//把数字填入二维数组
    			for (j = 0; j < n; j++)
    			{
    				scanf("%d", &a[i][j]);
    					if (i > j)//当行大于列时,如果元素不为0,则不是上三角矩阵
    						if (a[i][j] != 0)
    						{
    							flag = 0;
    						}
    			}
    		if (flag)
    		{
    			printf("YES\n");
    		}
    		else
    		{
    			printf("NO\n");
    		}
    	}
    	return 0;
    }
    

    关于多维数组
    多维数组,可以通过多个下标去存取其中的数据元素,其定义格式类似于一维数组。比如二维数组:

    /*定义了一个二维数组, 第一维(称为行)大小是3, 第二维(称为列)大小为4*/
    int a[3][4] = {  
       {0, 1, 2, 3} ,   /* 行下标为0的第1行的初始化 */
       {4, 5, 6, 7} ,   /* 行下标为1的第2行的初始化 */
       {8, 9, 10, 11}   /* 行下标为2的第3行的初始化 */
    };
    
    /*定义了一个二维数组, 第二维(称为列)大小为4, 第一维(称为行)大小是2, 行数由初始化式子中的个数确定 */
    int matrix[][4] = {  
       {0, 1, 2, 3} ,   /* 行下标为0的第1行的初始化 */
       {4, 5, 6, 7} ,   /* 行下标为1的第2行的初始化 */  
    };
    
    /*修改第3行第4列(下标为[2][3])的元素的值*/
    a[2][3] = 23;
    
    展开全文
  • 对称矩阵(1)特点矩阵中行数等于列数,即它是一个方阵,且第i行第j列的元素与第j行第i列的...对称矩阵(2)对称矩阵的压缩存储原理根据对称矩阵的特点(ai,j=aj,i),行数=列数,所以只要存储下三角部分的矩阵元素,其...

    对称矩阵

    (1)特点

    矩阵中行数等于列数,即它是一个方阵,且第i行第j列的元素与第j行第i列的元素对应相等,即ai,j=aj,i

    例5.5 图5-5是一个4阶对称的对称矩阵,虚线所示部分称为对称矩阵的下三角部分(包括对角线部分),显然对下三角部分数组元素ai,j,一定有i≥j。

    5ec87775103aaf1161c51f184f2ab29b.png

    对称矩阵

    (2)对称矩阵的压缩存储原理

    根据对称矩阵的特点(ai,j=aj,i),行数=列数,所以只要存储下三角部分的矩阵元素,其他矩阵元素可根据对称矩阵的特性得到。

    (3)存储方法

    定义一个一维数组,其数据类型与对称矩阵的相同,长度大于等于对称矩阵的下三角部分的元素个数。确定在一维数组中存储的起始点,以行序为主,依次存储下三角部分的矩阵元素到一维数组中。

    例5.6 对称矩阵的压缩存储

    用对称矩阵的压缩存储方法,把上图5-5所示的矩阵A存储到一维数组b中。一维数组存储的起始下标为零,如图5-6所示。

    2aa10c8c228ee663f517e5c943f88560.png

    对称矩阵的压缩存储

    例5.7 在例5.6中,求矩阵元素a4,2对应一维数组b中的数组元素。设矩阵在存放时,从一维数组的第一个元素b[0]开始。

    分析:矩阵元素a4,2在第4行第2列,而下三角部分的前3行的元素个数为:1+2+3=6,第4行从第1列到第2列有两个元素。共有6+2=8个元素。

    由此,a4,2是下三角部分的第8号元素。存放时从元素b[0]开始,所以矩阵元素a4,2 对应一维数组中的数组元素为b[7]。

    (4)对称矩阵压缩存储的关系式

    设有对称矩阵A,一维数组b,把矩阵A的下三角部分压缩存储到一维数组b中。矩阵元素aij,(i≥j),对应于b[k],则有:

    k= a[i(i-1)/2+j-1] 从b[0]开始存储

    k= a[i(i-1)/2+j] 从b[1]开始存储

    注:当i≤j时,因为ai,j=aj,i,只要按照aj,i计算即可。

    展开全文
  • C语言 判断上三角矩阵

    万次阅读 2017-06-29 10:26:42
    上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。功能要求 ①输入格式: 输入第一行给出一个正整数TT,为待测矩阵的个数。接下来给出TT个矩阵的信息:每个矩阵信息的第一行...
  • 7-22判断上三角矩阵(20分)上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为...
  • 习题7-3 判断上三角矩阵 (15分) 上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正...
  • 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出...
  • 【问题描述】判断是否为上三角矩阵。 输入一个正整数n(1<n=<6)和n阶矩阵a中的元素,如果a是上三角矩阵,输出YES;否则,输出NO。 (上三角矩阵,即主对角线以下的元素都为0,主对角线为从矩阵的左上角至右下角的...
  • 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n...
  • 知识点: 1*1的矩阵是上三角,下三角矩阵,也是对角阵;...本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩...
  • #include <stdio.h> void delta(int n, int arr[10][10]); int main(void) { int T, n, i, j, k; int arr[10][10]; scanf("%d", &T); for (k = 0; k < T; k++) { scanf("...
  • pintia题库,C语言上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否上三角矩阵
  • 7.判断N*N矩阵是否为上三角矩阵,所谓上三角矩阵指不含主对角线下班半三角都为0,要求用指针实现 题目要求的上三角矩阵, 若为3*3矩阵(不含主对角线) 1 2 3 0 5 6 0 0 9 数组 对应 a[1][0] a[2][0] a[2][1] ...
  • C语言杨氏三角判断

    2019-04-08 17:55:36
    // //杨氏矩阵 // 有一个二维数组. // 数组的每行从左到右是递增的,每列从到下是递增的. // 在这样的数组中查找一个数字是否存在。 // //数组: // 1 2 3 // 2 3 4 // 3 4 5 // // // 1 3 4 // 2 4 5 // 4 5 6 //...
  • c语言矩阵题目汇总

    2020-08-01 13:58:25
    3249. 矩阵转置 3211. 矩阵乘法 矩阵运算 方阵循环右移 判断上三角矩阵 矩阵各行元素之和 找鞍点 暂时只做了这么多,以后有再随时发布,奥里给。
  • 实验题目:11-4 判断上三角矩阵 上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式:输入第一行给出一个正...
  • c语言学习日记(九)

    2020-04-04 17:08:43
    习题7-3 判断上三角矩阵 https://pintia.cn/problem-sets/12/problems/326 上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否上...
  • C语言第二次实验报告

    2018-01-27 22:20:00
    11-4判断上三角矩阵(15分) 上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 12-3字符串逆序(15分) ...
  • 题目1:判断上三角矩阵 1. 本题PTA提交列表: 2. 设计思路 定义整形变量n存放判断矩阵个数,number存放几阶矩阵,i,j,k控制循环,flag判断是否为上三角矩阵标志,b存放输入一个数时的特殊情况的数值 定义整型数组a[10]...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

判断上三角矩阵c语言

c语言 订阅