?? 相對定向.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 + -