📄 相对定向.h
字号:
#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
#include "math.h"
#include "iostream.h"
#include "string.h"
void main()
{
//****************第一步*******************//
//
float **X,**D,f;//X数组代表输入的象点坐标,D代表输入的地面点坐标
double H;//f表示摄影中心s到像片的垂距,H表示航高
double temp;//中间变量
int w,j,i;
FILE *fp;//文件名
char filename[20],out[20];
printf("输入要处理的数据所在文件名:");
gets(filename);
strcpy(out,filename);
if((fp=fopen(strcat(filename,".txt"),"r"))==NULL) //打开文件
{
printf("*********读文件不成功!*********\n");
exit(0);
}
else
printf("**********读文件成功!************\n\n");
w=0;
while(!feof(fp))
{
for(j=0;j<5;j++)
{
fscanf(fp,"%f ",&temp);
}
w++; //先确认读入数据的行数
}
w=w-1;
printf("%d\n",w);
rewind(fp);
//分配存储数据的空间
X=(float**)malloc(sizeof(float)*(w));
for(i=0;i<w;i++)
{
X[i]=(float*)malloc(sizeof(float)*(2));//为二维数组开辟空间
}
D=(float**)malloc(sizeof(float)*(w));
for(i=0;i<w;i++)
{
D[i]=(float*)malloc(sizeof(float)*(3));//为二维数组开辟空间
}
while(!feof(fp))
{
fscanf(fp,"%f",&f);
for(i=0;i<w;i++)
{
fscanf(fp,"%f",&X[i][0]);
fscanf(fp,"%f",&X[i][1]);
fscanf(fp,"%f",&D[i][0]);
fscanf(fp,"%f",&D[i][1]);
fscanf(fp,"%f",&D[i][2]);//每一行的前两位读给 象点数组,后三位读给 地面点数组
}
}
fclose(fp);
//验证数据读入后准确与否
for(i=0;i<w;i++)
{
printf("%.2lf ",X[i][0]);printf(" ");
printf("%.2lf ",X[i][1]);printf(" ");
printf("%.2lf ",D[i][0]);printf(" ");
printf("%.2lf ",D[i][1]);printf(" ");
printf("%.2lf ",D[i][2]);printf(" ");
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -