S
spea
Есть в наличии готовая программа для определенных математических расчетов, по её аналогу пытаюсь сделать программу для своих целей.
Вот кусок кода исходной программы
Плохо понятна вот эта часть:
и эта:
Вроде как переменные из файла должны помещаться в массив, а затем массив индексируется. Реализовать подобное пока не получается.
Прошу дать пояснения этого исходного кода.
Вот кусок кода исходной программы
C++:
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>
#include<string.h>
int i,kt,K,nom[530];
double B1,L1,B[530],L[530];
float H1,H[530],dg0,dg[530];
int j,i1;
float SUM,b;
double SGES[530],xi0[530],;
char buf[100];
FILE *fp,*fpT;
void StGES(int j1);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
int j1;
b=(1000.0/71.0)*(1000.0/71.0);
fpT=fopen("C\\T.txt","w"); /*Чтение исходных данных*/
fp=fopen("C:\\1.txt","rt");
fscanf(fp,"%d",&kt);
// printf("%d\n",kt); // getch();
for(i=1;i<=kt;i++) {fscanf(fp,"%d%lf%lf%f%f",&K,&B1,&L1,&H1,&dg0);
nom[i]=K;
B[K]=B1;
L[K]=L1;
H[K]=H1;
dg[K]=dg0;
fprintf(fpT,"%4.0d%10.5lf%10.5lf%10.5f%6.3f\n",K,B1,L1,H1,dg0);
//MessageBox(NULL,buf,"Готовность",MB_OK); exit(0);
}
//sprintf(buf,"%d",K);
/*Определение xi0*/
for (i=1;i<=kt;i++)
{SUM=0;
for(j=1;j<=kt;j++)
{if (nom[i]!=nom[j])
{i1=nom[i];
j1=nom[j];
//printf("i.j\n");
//getch();
//printf("%d\n%d\n",i,j);
// getch();
StGES(j1);
SUM=SUM+dg[j1]*SGES[j1];
//printf("SUM=");
//printf("%lf\n",SUM);
//getch();
} /*for if*/
}/*forj *///exit(0);
xi0[i1]=(dg[i1]-SUM*b/(8*pi))/(2*pi);
}
..........
C++:
for(i=1;i<=kt;i++) {fscanf(fp,"%d%lf%lf%f%f",&K,&B1,&L1,&H1,&dg0);
nom[i]=K;
B[K]=B1;
L[K]=L1;
H[K]=H1;
dg[K]=dg0;
C++:
//sprintf(buf,"%d",K);
/*Определение xi0*/
for (i=1;i<=kt;i++)
{SUM=0;
for(j=1;j<=kt;j++)
{if (nom[i]!=nom[j])
{i1=nom[i];
j1=nom[j];
Вроде как переменные из файла должны помещаться в массив, а затем массив индексируется. Реализовать подобное пока не получается.
Прошу дать пояснения этого исходного кода.