资源简介
v3fe32.rar
代码片段和文件信息
#include
#include
#include
const double PRECISION=1e-5;
typedef double DOUBLE[5];
int InputData(int &Num DOUBLE *&Datadouble &mdouble &f);
int Resection(const int &Numconst DOUBLE *&Dataconst double &mconst double &f);
int InverseMatrix(double *matrixconst int &row);
int main(int argc char* argv[])
{
DOUBLE *Data=NULL;
int Num;
double f(0)m(0);
if(InputData(NumDatamf))
{
if (Data!=NULL)
{
delete []Data;
}
return 1;
}
if(Resection(NumDatamf))
{
if (Data!=NULL)
{
delete []Data;
}
return 1;
}
if (Data!=NULL)
{
delete []Data;
}
printf(“解算完毕...\n“);
do{
printf(“计算结果保存于\“结果.txt\“文件中\n“
“请选择操作(输入P打开结果数据,R打开原始数据,其它退出程序):“);
fflush(stdin); //刷新输入流
char order=getchar();
if (‘P‘==order || ‘p‘==order)
{
system(“结果.txt“);
}
else if (‘R‘==order || ‘r‘==order)
{
system(“data.txt“);
}
else
break;
system(“cls“);
}while(1);
system(“PAUSE“);
return 0;
}
/**********************************************
*函数名:InputData
*函数介绍:从文件(data.txt)中读取数据
*文件格式如下:
*点数 m(未知写作0)
* 内方位元素(f x0 y0)
*编号 x y X Y Z
*下面是一个实例:
4 0
153.24 0 0
1 -86.15 -68.99 36589.41 25273.32 2195.17
2 -53.40 82.21 37631.08 31324.51 728.69
3 -14.78 -76.63 39100.97 24934.98 2386.50
4 10.46 64.43 40426.54 30319.81 757.31
*参数:(in/out)Num(点数),
*(in/out)Data(存放数据)mfx0y0
*返回值:int ,0成功,1文件打开失败,2控制点个
*数不足,3文件格式错误
*作者:vcrs
*完成时间:09-10-4
**********************************************/
int InputData(int &Num DOUBLE *&Datadouble &mdouble &f)
{
double x0y0;
FILE *fp_input;
if (!(fp_input=fopen(“E:\\data_280_2.txt““r“)))
{
return 1;
}
fscanf(fp_input“%d%lf“&Num&m);
if (Num<4)
{
return 2;
}
fscanf(fp_input“%lf%lf%lf“&f&x0&y0);
f/=1000;
if (m<0 || f<0)
{
return 3;
}
Data=new DOUBLE[Num];
double *temp= new double[Num-1];
double scale=0;
int i;
for (i=0;i {
//读取数据,忽略编号
if(fscanf(fp_input“%*d%lf%lf%lf%lf%lf“
&Data[i][0]&Data[i][1]&Data[i][2]
&Data[i][3]&Data[i][4])!=5)
{
return 3;
}
//单位换算成m
Data[i][0]/=1000.0;
Data[i][1]/=1000.0;
}
//如果m未知则归算其值
if (0==m)
{
for (i=0;i {
temp[i]=(Data[i][2]-Data[i+1][2])/(Data[i][0]-Data[i+1][0])+
(Data[i][3]-Data[i+1][3])/(Data[i][1]-Data[i+1][1]);
scale+=temp[i]/2.0;
}
m=scale/(Num-1);
}
fclose(fp_input);
delete []temp;
return 0;
}
/**********************************************
*函数名:MatrixMul
*函数介绍:求两个矩阵的积
*参数:Jz1(第一个矩阵)row(第一个矩阵行数)
*Jz2(第二个矩阵)row(第二个矩阵列数)com(第一个
*矩阵列数)(out)JgJz(存放结果矩阵)
*返回值:void
*作者:vcrs
*完成时间:09-10-4
**********************************************/
void MatrixMul(double *Jz1const int &rowdouble *Jz2
const int &lineconst int &comdouble *JgJz)
{
for (int i=0;i
{
for (int j=0;j {
double temp=0;
for (int k=0;k {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 41984 2014-04-09 16:11 空间后方交会\Debug\vc60.idb
文件 53248 2014-04-09 16:11 空间后方交会\Debug\vc60.pdb
文件 58368 2014-04-09 16:11 空间后方交会\Debug\空间后方交会.bsc
文件 237633 2014-04-09 16:11 空间后方交会\Debug\空间后方交会.exe
文件 265456 2014-04-09 16:11 空间后方交会\Debug\空间后方交会.ilk
文件 26489 2014-04-09 16:11 空间后方交会\Debug\空间后方交会.obj
文件 230040 2014-03-04 12:29 空间后方交会\Debug\空间后方交会.pch
文件 574464 2014-04-09 16:11 空间后方交会\Debug\空间后方交会.pdb
文件 0 2014-04-09 16:11 空间后方交会\Debug\空间后方交会.sbr
文件 12053 2014-04-09 16:11 空间后方交会\空间后方交会.cpp
文件 4362 2013-11-14 13:52 空间后方交会\空间后方交会.dsp
文件 549 2013-11-14 13:52 空间后方交会\空间后方交会.dsw
文件 41984 2014-04-09 16:14 空间后方交会\空间后方交会.ncb
文件 54784 2014-04-09 16:14 空间后方交会\空间后方交会.opt
文件 1498 2014-04-09 16:11 空间后方交会\空间后方交会.plg
文件 0 2013-11-14 14:03 空间后方交会\结果.txt
目录 0 2014-04-09 16:11 空间后方交会\Debug
目录 0 2014-04-09 16:14 空间后方交会
----------- --------- ---------- ----- ----
1602912 18
- 上一篇:GIS绘制GPS 轨迹
- 下一篇:安卓医药助手源码
相关资源
- u014559227_8667093.zip
- Tom的机器学习中文版byOneRoad.rar
- Kmeans.zip
- QQ软件.e
- BAT大牛亲授基于ElasticSearch的搜房网实
- 商城DB.vsd
- vmware14网盘地址.txt
-
xm
l编辑修改工具.zip - BOOK_BER.rar
- LenovoR720-1.icm
- Server10.5许可文件.rar
- ssm.zip
-
xm
lspy.txt - 多用户手机端.zip
- u013647111_6917153.zip
- pdf(13)
- Navicat Premium 15.0.4可用汉化语言包269
- D7-SYS_V80.iso.rar
- 随机过程课后答案冯海林.pdf
- 基于Zemax的手机摄像镜头光学设计.d
- remove-svn-folders.reg
- 数据库系统概论第五版课后习题答案
- 1.0.rar
- WPATSP.zip
- x68nss.xls
- 棋牌类基本测试点.xlsx
- 实验五.zip
-
地质灾害符号库.st
yle -
EndNotechinesest
yle.rar - 侯捷-C新标准c11AND14.txt
评论
共有 条评论