• 大小: 0.26M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签: 其他  

资源简介

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


评论

共有 条评论