C和指针之数组编程练习3(判断矩阵是否为单位矩阵)
来源:互联网 发布:淘宝客高佣金采集软件 编辑:程序博客网 时间:2024/06/06 05:38
1、题目
3.单位矩阵就是一个正方形矩阵,它除了主对角线元素值为1以外,其余元素的值均为0,例如:
*1 0 0
*0 1 0
*0 0 1
*就是一个3×3单位矩阵,编写一个名叫identity_matrix的函数,它接受一个10×10整型矩阵为参数
*成功返回1,失败返回1
*1 0 0
*0 1 0
*0 0 1
*就是一个3×3单位矩阵,编写一个名叫identity_matrix的函数,它接受一个10×10整型矩阵为参数
*成功返回1,失败返回1
4、修改前一个问题中的identity_matrix函数,它可以对数组进行扩展,从而能够接受任意大小的矩阵参数。函数的第一个参数应该是一个整型指针,你需要第二个参数,用于指定矩阵的大小。
2、代码实现
#include <stdio.h>/* *3.单位矩阵就是一个正方形矩阵,它除了主对角线元素值为1以外,其余元素的值均为0,例如: *1 0 0 *0 1 0 *0 0 1 *就是一个3×3单位矩阵,编写一个名叫identity_matrix的函数,它接受一个10×10整型矩阵为参数 *成功返回1,失败返回1 **/int identity_matrix(int (*matrix)[10]){ for (int i = 0; i < 10; ++i) for (int j = 0; j < 10; ++j) { if (i == j) { if (matrix[i][j] != 1) return 0; } else { if (matrix[i][j] != 0) return 0; } } return 1;} /**4、修改前一个问题中的identity_matrix函数,它可以对数组进行扩展,从而能够接受任意大小的矩阵参数。 * 函数的第一个参数应该是一个整型指针,你需要第二个参数,用于指定矩阵的大小。 * */ int identity_matrix1(int *matrix,int n){ int row; int column; for (row = 0; row < n; row++) { for (column = 0; column < n; column++) { if (*matrix++ != (row == column)) return 0; } } return 1;}int main(){ int matrix[10][10] = {{1, 0}, {1}, {1}, {1}, {1}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1}, {1}}; int result = identity_matrix(matrix); printf("result is %d\n", result); int result1 = identity_matrix1(matrix, 10); printf("result1 is %d\n", result1); return 0;}
3、运行结果
1111deMacBook-Pro:dabian a1111$ vim identity_matrix.c1111deMacBook-Pro:dabian a1111$ gcc -w -g identity_matrix.c -o identity_matrix1111deMacBook-Pro:dabian a1111$ ./identity_matrixresult is 0result1 is 0
阅读全文
0 0
- C和指针之数组编程练习3(判断矩阵是否为单位矩阵)
- C和指针之数组编程练习5 (矩阵相乘)
- 判断矩阵是否为单位矩阵
- 判断是否是单位矩阵~
- C和指针之字符串编程练习10(判断字符串是否是回文数)
- Matlab判断矩阵是否为对称矩阵
- 判断输入的矩阵是否是单位矩阵
- 判断是否为对称矩阵
- C和指针之数组之编程练习2
- 8.3判断单位矩阵
- 判断一个矩阵是否为函数
- C和指针之字符串编程练习3
- C和指针之数组编程练习8(8皇后问题)
- 2.3 单位矩阵和转置矩阵
- 8.3 单位矩阵和逆矩阵
- MATLAB之数组和矩阵
- 【编程练习】3*3 的矩阵,值限定为1-9不重复,已知横竖的和,和一个斜着的值,求这个矩阵
- C语言编程(练习1:数组和指针)
- centos安装java web服务器环境java8+tomcat8+mysql5.7
- 英语单词
- Scrapy学习笔记(6)---scrapy shell
- 一.PHP几种加密形式
- JAVA基础复习-反射
- C和指针之数组编程练习3(判断矩阵是否为单位矩阵)
- 使用yum来下载RPM包而不进行安装
- 10.3在表尾插入生成单链表
- Trie 树实现《圣经》词频统计
- 习题6.10
- 240. Search a 2D Matrix II
- ES6之Proxy
- 欢迎使用CSDN-markdown编辑器
- Linux基础命令(二)之du、df详解