Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Выч.физ / Обработка статистики

.cpp
Скачиваний:
16
Добавлен:
12.02.2015
Размер:
3.01 Кб
Скачать
#include<conio.h>
#include<stdio.h>
#include<math.h>

FILE *OUT, *IN, *END, *REZ_E, *REZ_M, *REZ_sE, *REZ_sM;

double T;
long start_configuration_max, mks_max;
long N;

double E[100000], sE[100000], M[100000], sM[100000];

int main ( void )
{
    IN = fopen("CONFIGURATION.dat","r");
    OUT = fopen("OUT.dat","r");
    END = fopen("END.dat","r");

    REZ_E = fopen("RESULT_E.dat","w+");
    REZ_sE = fopen("ERROR_E.dat","w+");
    REZ_M = fopen("RESULT_M.dat","w+");
    REZ_sM = fopen("ERROR_M.dat","w+");

    if((REZ_M==NULL)||(REZ_sM==NULL)||(REZ_E==NULL)||(REZ_sE==NULL))
     {
         printf("\n ERROR!");
         getch();
         return 0;
     }


    long i, start_configuration, ss;
    double M_, E_, f;

    fscanf(IN,"%lf",&T);
    fscanf(IN,"%ld",&start_configuration_max);
    if(END!=NULL)
     {
         fscanf(END,"%ld",&start_configuration_max);
     }
    fscanf(IN,"%ld",&mks_max);
    fscanf(IN,"%ld",&N);
    fscanf(IN,"%ld",&ss);

    printf("T = %4.3lf\n",T);
    printf("start_configuration_max = %ld\n",start_configuration_max);
    printf("mks_max = %ld\n",mks_max);
    printf("N = %ld\n",N);
    printf("ss = %ld\n",ss);

    printf("\n\n\n INITIATED PROCESSING STATISTIC!");

    for(i=0;i<mks_max;i++)
     {
         E[i]=0.0;
         sE[i]=0.0;
         M[i]=0.0;
         sM[i]=0.0;
     }

    printf("\n\n\n INITIATED DATA PROCESSING!");

    f=1.0/start_configuration_max;

    for(start_configuration=0;start_configuration<start_configuration_max;start_configuration++)
     {
         if(start_configuration%ss==0)
          {
              printf("\n COMPLITE %ld CONFIGURATION",start_configuration);
          }
         for(i=0;i<mks_max;i++)
          {
              fscanf(OUT,"%lf",&E_);
              fscanf(OUT,"%lf",&M_);

              E[i]=E[i]+E_*f;
              M[i]=M[i]+M_*f;
          }
     }

    for(i=0;i<mks_max;i++)
     {
         fprintf(REZ_E,"%6.5lf\n",E[i]);
         fprintf(REZ_M,"%6.5lf\n",M[i]);
     }

    fclose(REZ_E);
    fclose(REZ_M);

    printf("\n\n\n INITIATED PROCESSING ERROR!");

    f=1.0/start_configuration_max*(start_configuration_max-1);

    for(start_configuration=0;start_configuration<start_configuration_max;start_configuration++)
     {
         if(start_configuration%ss==0)
          {
              printf("\n COMPLITE %ld CONFIGURATION",start_configuration);
          }
         for(i=0;i<mks_max;i++)
          {
              fscanf(OUT,"%lf",&E_);
              fscanf(OUT,"%lf",&M_);

              sE[i]=sE[i]+(E_-E[i])*(E_-E[i])*f;
              sM[i]=sM[i]+(M_-M[i])*(M_-M[i])*f;
          }
     }

    for(i=0;i<mks_max;i++)
     {
         fprintf(REZ_sE,"%6.5lf\n",sE[i]);
         fprintf(REZ_sM,"%6.5lf\n",sM[i]);
     }

    fclose(REZ_sE);
    fclose(REZ_sM);

    printf("\n\n\n COMPLITE PROCESSING STATISTIC!");
}

























Соседние файлы в папке Выч.физ