利用C/C++实现从文件读入到子程序中调用返回结果
2013-01-16 21:03
549 查看
主函数:
View Code
新建工程,即可调用成功。
此处主函数的矩阵维数还是给定的 后续版本给不定的。
View Code
#include <stdlib.h> #include <stdio.h> #include <math.h> /*处理函数*/ int gaus(double a[],double b[],int n) { int *js,l,k,i,j,is,p,q; double d,t; js=(int *)malloc(n*sizeof(int)); l=1; for (k=0;k<=n-2;k++) { d=0.0; for (i=k;i<=n-1;i++) for (j=k;j<=n-1;j++) { t=fabs(a[i*n+j]); if (t>d) { d=t; js[k]=j; is=i; } } if (d+1.0==1.0) l=0; else { if (js[k]!=k) for (i=0;i<=n-1;i++) { p=i*n+k; q=i*n+js[k]; t=a[p]; a[p]=a[q]; a[q]=t; } if (is!=k) { for (j=k;j<=n-1;j++) { p=k*n+j; q=is*n+j; t=a[p]; a[p]=a[q]; a[q]=t; } t=b[k]; b[k]=b[is]; b[is]=t; } } if (l==0) { free(js); printf("fail\n"); return(0); } d=a[k*n+k]; for (j=k+1;j<=n-1;j++) { p=k*n+j; a[p]=a[p]/d; } b[k]=b[k]/d; for (i=k+1;i<=n-1;i++) { for (j=k+1;j<=n-1;j++) { p=i*n+j; a[p]=a[p]-a[i*n+k]*a[k*n+j]; } b[i]=b[i]-a[i*n+k]*b[k]; } } d=a[(n-1)*n+n-1]; if (fabs(d)+1.0==1.0) { free(js); printf("fail\n"); return(0); } b[n-1]=b[n-1]/d; for (i=n-2;i>=0;i--) { t=0.0; for (j=i+1;j<=n-1;j++) t=t+a[i*n+j]*b[j]; b[i]=b[i]-t; } js[n-1]=n-1; for (k=n-1;k>=0;k--) if (js[k]!=k) { t=b[k]; b[k]=b[js[k]]; b[js[k]]=t; } free(js); return (1); }
新建工程,即可调用成功。
此处主函数的矩阵维数还是给定的 后续版本给不定的。
相关文章推荐
- 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
- Android利用JNI实现java调用C或C++
- JAVA中利用JNI与VS2012实现C/C++的DLL调用
- C#利用反射动态调用DLL并返回结果,和获取程序集的信息
- 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
- c++ 利用boost 实现文件操作
- c++ 利用boost 实现文件操作
- Linux下python调用C++接口实现图片及文件的AES加解密
- 在aspx页面里调用cs后台文件里的方法,返回结果到aspx页面
- [转]浅析C++中虚函数的调用及对象的内部布局(利用汇编深刻理解C++虚函数底层实现机制)
- 在C#中调用EXE文件(传参数、等待、返回结果)
- 利用swig实现python调用C/C++的方法
- 利用swig实现python调用C/C++的方法
- c#调用c++写成的dll文件,返回char*,返回数组,用ref接收,byte[] (zz)
- 文件上传 通过隐藏iframe的方式来实现ajax上传文件并返回处理结果 ie乱码问题解决
- 利用sql语句调用bat(批处理)+ftp实现文件远程拷贝和注入
- C++实现矩阵链乘法利用动态规划及运行实例结果
- ACE_Future实现了单写多读模式,可以用来异步方法调用的结果返回
- 利用VS根据文件目录结构创建C++工程自己简单实现的方法