求任意阶数矩阵的行列式——C语言
/*** [description] 求n阶矩阵的行列式* @Author fan_zhang* @DateTime 2019-02-27T22:12:58*/
#include <stdio.h>
#include <stdlib.h>
double det(double* , int );
int main(int argc, char const* argv[])
{int i, j, n ;double* a;printf("输入行列式的阶数:");scanf("%d", &n);a = (double*)malloc(sizeof(double) * n * n);if(a==NULL){printf("没有可用内存!\n");exit(0);}printf("输入%d个数;",n*n );for (i = 0; i < n; i++)for (j = 0; j < n; j++)scanf("%lf", a + i * n + j);printf("detA=%g\n", det(a, n));free(a);return 0;
}
double det(double* a, int N)//数组a[N][N]
{int i, j, m, n, s, t, k = 1;double f = 1.0, c, x;for (i = 0, j = 0; i < N && j < N; i++, j++) {if (a[i * N + j] == 0) {//a[i][j]检查主对角线是否为0for (m = i + 1; m < N && a[m * N + j] == 0; m++)//a[m][j];if (m == N)//全为0则行列式为0return 0;elsefor (n = j; n < N; n++) {//交换两行c = a[i * N + n];//a[i][n]a[i * N + n] = a[m * N + n];//a[i][n]=a[m][n]a[m * N + n] = c;//a[m][n]}k = -k;}for (s = N - 1; s > i; s--) {//列变换成上三角行列式x = a[s * N + j];//a[s][j]for (t = j; t < N; t++)a[s * N + t] -= a[i * N + t] * (x / a[i * N + j]);}}for (i = 0; i < N; i++)//a[i][i]f *= a[i * N + i];return k * f;
}
运行结果
求任意阶数矩阵的行列式——C语言相关推荐
- 2.3 matlab矩阵求值(矩阵的行列式值、矩阵的秩、矩阵的积、矩阵的范数和矩阵的条件数)
1.方阵的行列式 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为方阵所对应的行列式的值.det(A):求方阵A所对应的行列式的值. >> format rat; > ...
- 求任意大小矩阵的转置矩阵
m 行 n 列矩阵转置后为 n 行 m 列. C++代码如下: 1 #include<iostream> 2 using namespace std; 3 4 int main() { 5 ...
- 求任意半径圆的面积c语言,需要一个输入半径求圆面积的C语言程序
#include #define PI 3.14159 int main() {float r, l, s; scanf("%f", &r); printf("S ...
- C语言求任意两个矩阵相乘的算法(初学尝试矩阵乘法)
C语言求任意两个矩阵相乘的算法(不同于大部分规格固定的矩阵乘法) 结果图如下 : 代码如下: //----- 任意两个矩阵相乘 # include <stdio.h> int main ...
- 任意阶数实数方阵的行列式的值的C语言实现详解
算法描述 对于一个N阶的方阵,则它的行列式的值为,这里我们引入余子式的概念,在线性代数的课本中它的定义如下:在N阶行列式中,把元素所在的第i行和第j列划去后,留下了的N-1阶行列式叫元素的余子式,记作 ...
- c语言中用伴随矩阵求逆,C语言求矩阵的行列式、伴随矩阵、逆矩阵
CSDN大神编写的求矩阵的行列式,intgetA(intarcs[N][N],intn),通过调用递归函数,按矩阵的第一行进行分解,虽然行列式的计算都学过,但是自己写起来还是得费一番功夫的,好在有MA ...
- ACMNO.19 C语言-对角求和 求一个3×3矩阵对角线元素之和。 输入 矩阵 输出 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7
这个我做了改进,可以实现NXN的矩阵.求出对角线之和! 只需要修改定义的define z的值就好! 接下来,进入正题! 题目描述: 求一个3×3矩阵对角线元素之和. 输入 矩阵 输出 主对角线 副对角 ...
- c语言编程矩阵主对角线相同,急求!c语言 求N*N矩阵中主对角线和次对角线的元素之和...
急求!c语言 求N*N矩阵中主对角线和次对角线的元素之和 來源:互聯網 2010-02-24 23:29:06 評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 ...
- C语言计算数字乘积根,c语言,求任意一个整数各位数字之积
点击查看c语言,求任意一个整数各位数字之积具体信息 答:求整数各位和,将整数各个位分离出来的方法(除10取模)很常用. 函数如下 int intsum(int n) { int sum = 0; wh ...
最新文章
- Imec推出高性能芯片的低成本冷却解决方案
- 软件测试工程师职业介绍和规划
- java执行linux shell命令,并拿到返回值
- 投稿Cover Letter如何写出彩
- 转:Zookeeper快速入门
- enterFrame是什么意思?
- BGP——双AS配置
- geatpy自定义初始的x值、自定义初始基因
- Qt线程和signal-slot
- 官方文档Linux自动发现:磁盘、进程、TCP/UDP服务
- 《CUDA C编程权威指南》——2.2 给核函数计时
- iPhone企业应用实例分析之二:程序处理流程
- 手把手教你申请Coursera的课程助学金
- mysql sql slave skip_MySQL的一次错误处理 SQL_SLAVE_SKIP_COUNTER
- linux可执行文件的后缀是什么?
- HDMI 2.0高速电平转换芯片——LK361S20
- java实现手机扫描二维码下载功能
- 不想工作了怎么破?那就去这4个地方看一看
- 还儿童一个健康上网环境,正式开启我的路由器URL网址白名单之旅
- 论文封面摘要正文页码不同 WORD中怎么编辑页码不连续 设置目录和正文页码不同
热门文章
- Windows cmd 防火墙配置
- java base64 转 图片_Java将图片与base64编码相互转换
- 在html文件中集成easy,easyapi 通过java注解或注释自动生成带页面的接口文档
- APP抓包——Fiddler工具
- iPhone 12首批用户成“小白鼠”,“信号故障”躺枪者无数
- java 右shift键_【已解决】Eclipse中Ctrl+Shift+右箭头无法实现一次性选择整个单词(Ctrl+右箭头无法实现整个单词级别的移动)...
- Nature | 生成式人工智能如何构建更好的抗体
- Flutter仿钉钉考勤日历,成功入职腾讯
- 基于51单片机 超声波测距 倒车雷达
- CCF HPC China 2022 | 第二届异构计算软件栈与应用论坛成功召开