c语言线性代数函数 线性代数与c语言

用C语言编线性代数方程组求解

A B

创新互联是一家专注于成都网站制作、网站设计、外贸网站建设与策划设计,禹会网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:禹会等地区。禹会做网站价格咨询:18980820575

无非就是二维数组

但是里面的数有小数么?

数学学的什么早忘了

高斯还考过 但从考场出来就全忘了

用c语言程序写一个函数,求线性代数方程组AX=b,要有通用性。非常感谢帮忙。

高斯-赛德尔迭代法

#include stdio.h

#include conio.h

#include alloc.h

#include math.h

#define N 100

float *GauseSeidel(float *a,int n)

{

int i,j,nu=0;

float *x,dx;

x=(float *)malloc(n*sizeof(float));

for(i=0;i =n-1;i++)

x[i]=0.0;

do

{

for(i=0;i =n-1;i++)

{

float d=0.0;

for(j=0;j =n-1;j++)

d+=*(a+i*(n+1)+j)*x[j];

dx=(*(a+i*(n+1)+n)-d)/(*(a+i*(n+1)+i));

x[i]+=dx;

}

if(nu =N)

{

printf( "迭代发散\n ");

exit(1);

}

nu++;

}

while(fabs(dx) 1e-6);

return x;

}

main()

{

int i;

float *x;

float c[12]={5,2,1,8,2,8,-3,21,1,-3,-6,1};

float *GauseSeidel(float *,int);

x=GauseSeidel(c,3);

clrscr();

for(i=0;i =2;i++)

printf( "x[%d]=%f\n ",i,x[i]);

getch();

}

大学线性代数,c语言

#include stdio.h#include stdlib.h#include conio.h//我需要使用其中的getch函数让程序暂停int main(){ system("color 4e");//纯属为了养眼 printf("利用双重循环输出乘法口决表\n");//程序介绍 int i, j;//两个变量分别控制行与列输出 int jplus = 2;//在行确定时,控制到底需要输出多少列 for(i = 1; i 10; i++)//行控制 { for(j = 1; j jplus; j++)//列控制 { printf("%d×%d=%d\t", j, i, i * j); } printf("\n"); jplus++;//每行输出完毕后,下一行的列数都会加1 } printf("\n\n输出完毕,按任意键退出..."); getch();//程序暂停以免一闪而过 return 0;}/* 如果实在讨厌那个jplus,你还可以用i + 1来代替它写成如下的紧凑一点的格式,同样OK*/int main(){ int i = 0; int j = 0; for(i = 1; i 10; i++) { for(j = 1; j i + 1; j++) { printf("%dx%d=%d\t",j,i,i*j); } printf("\n"); } return 0;}

线性代数 c语言

#includecstdio

#includecstring

#includecctype

#includealgorithm

#define maxn 205

using namespace std;

int n,p,a[maxn][maxn];

char ch;

int flag=0;

void get(int res)

{

for(flag=1;!isdigit(ch=getchar());) if(ch=='-') flag=-1;

for(res=flag*(ch-'0');isdigit(ch=getchar());res=res*10+flag*(ch-'0'));

}

int det()

{

int ret=1;

for(int i=1;i=n;i++)

{

for(int j=i+1;j=n;j++)

while(a[j][i])

{

int t=a[i][i]/a[j][i];

for(int k=i;k=n;k++)

{

a[i][k]=(a[i][k]-1ll*a[j][k]*t)%p;

swap(a[i][k],a[j][k]);

}

ret=-ret;

}

if(!a[i][i]) return 0;

ret=1ll*ret*a[i][i]%p;

}

return (ret+p)%p;

}

int main()

{

while(~scanf("%d%d",n,p))

{

for(int i=1;i=n;i++)

for(int j=1;j=n;j++)

get(a[i][j]);

printf("%d\n",det());

}

}

浅析用c语言编程求解线性代数中行列式值

include iostream

#include stdio.h

int jc(int m){

if(m!=1) return m*jc(m-1);

else return 1;

}

int c(int m,int n){

if(m=n) return jc(m)/(jc(n)*jc(m-n));

}

int main(void){

int m,n;

scanf("%d%d",m,n);

printf("%d\n",c(m,n));

return 0;

}


本文标题:c语言线性代数函数 线性代数与c语言
路径分享:http://pwwzsj.com/article/hjsseg.html