亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.cpp

?? 互相關計算程序 非常實用的一個數據處理程序 非常好用
?? CPP
字號:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Btn_OpenFileClick(TObject *Sender)
{
  int RFileHandle;
  int RFileLength;
  int RBytesRead;
  char *pszBuffer;
  int ii,jj,kk,dd,mm,mm_max=0,LineNum_Max;
  char MYMSG[2255],TMSG[255];;
  char CH;
  double data[400];
  int Static[NN_Row];
  if (OpenDialog1->Execute())
  {
    try
    {
      RFileHandle = FileOpen(OpenDialog1->FileName, fmOpenRead);
      RFileLength = FileSeek(RFileHandle,0,2);
      FileSeek(RFileHandle,0,0);
      pszBuffer = new char[RFileLength+1];
      RBytesRead = FileRead(RFileHandle, pszBuffer, RFileLength);
      FileClose(RFileHandle);
      for(ii=0;ii<NN_Row;ii++)
        for(jj=0;jj<NN_Column;jj++)
          *(Data[ii]+jj)=NO_VALUE;
      kk=0;jj=0;
      for(ii=0;ii<RBytesRead;ii++)
            {
                   CH=pszBuffer[ii];
				     switch(CH)
					    {
					      case 10: MYMSG[kk]='\0';
							   kk=0;
						       dd=CharToDouble(MYMSG,data,400);
                                                          for(mm=0;mm<dd&&mm<NN_Column;mm++)
                                                            *(Data[jj]+mm)=data[mm];
                                                          *(Data_Flag+jj)=mm;
                                                      /*   sprintf(TMSG,"dd=%d",dd);
                                                           strcpy(MYMSG,TMSG);
                                                           for(mm=0;mm<dd;mm++)
                                                            {
                                                             sprintf(TMSG,"jj=%d, dd=%d[%f]",jj,mm,data[mm]);
                                                             strcat(MYMSG,TMSG);
                                                            }
                                                        Application->MessageBox(MYMSG,"Message !",MB_OK);  */
                                                       if(mm_max<mm)mm_max=mm;
                                                          jj++;
                                                       break;
					      default: MYMSG[kk]=CH;
						       kk++;
						       break;
					    }
                        if(jj>=NN_Row) break;
            }
         delete [] pszBuffer;
//                                                        Application->MessageBox(MYMSG,"Message !",MB_OK);  */
                              sprintf(MYMSG,"There are %d Rows by %d Columns data",jj,mm_max);
                              Label1->Caption=OpenDialog1->FileName+" has been opened.";
                              Label2->Caption=MYMSG;
      Column=mm_max;
      Row=jj;
          mm_max=0; LineNum_Max=0;
          for(ii=0;ii<NN_Column;ii++)
             Static[ii]=0;
          for(ii=0;ii<Row;ii++)
           {
            if(*(Data_Flag+ii)>=NN_Column) *(Data_Flag+ii)=NN_Column-1;
             Static[*(Data_Flag+ii)]++;
            }

          for(ii=0;ii<NN_Column;ii++)
             if(Static[ii]>LineNum_Max)
              {
                mm_max=ii;  LineNum_Max=Static[ii];
//                sprintf(MYMSG,"ii=%d,Static[ii]=%d",ii,Static[ii]);
//                Application->MessageBox(MYMSG,"Message !",MB_OK);
              }


      Column=mm_max;
                                                           MYMSG[0]='\0';
                                                           for(mm=0;mm<Column;mm++)
                                                            {
                                                             sprintf(TMSG,"%g, ",*(Data[Row-1]+mm));
                                                             strcat(MYMSG,TMSG);
                                                            }
                                                          Label_Example->Caption=MYMSG;
    ComboBox_Line1->Items->Clear();
    ComboBox_Line2->Items->Clear();
  TStringList* MyList = new TStringList();
      for(jj=0;jj<Column;jj++)
       {
        sprintf(MYMSG,"%2d",jj);
        MyList->Add(MYMSG);
      }
        ComboBox_Line1->Items->AddStrings(MyList);
        ComboBox_Line2->Items->AddStrings(MyList);
   }
    catch(...)
    {
      Application->MessageBox("Can't perform one of the following file operations: Open, Seek, Read, Close.", "File Error", IDOK);
    }
  }

}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
 int  TForm1::CharToDouble (char string[],double data[],unsigned int nn)
 {
  unsigned int ii,jj,dd,mm;                 //ii for index of character which can be transfered by AnsiString.ToDouble(),dd for index of data array
  char MYMSG[255],TMSG[200];                 //TMSG is the character hich can be transfered by AnsiString.ToDouble()
  unsigned  int EndRD;                       //when EndRD=1, the current datum has been read over because meeting undatum character.
  int FlagE,FlagD;  //for e(or E) and Dot respectively
  dd=0;
  FlagE=0;  FlagD=0; EndRD=0;ii=0;      //
  ii=0;TMSG[0]='0';
 for(jj=0;jj<strlen(string);jj++)
 {
   if(string[jj]=='-'||string[jj]=='+'||string[jj]=='.'||string[jj]=='e'||string[jj]=='E'||(string[jj]<=57&&string[jj]>=48))
     {
	     switch(string[jj])
                {
		   case  '+':
		   case  '-':
                             if(ii==0) {TMSG[ii]=string[jj]; ii++; }        //+- only presents at the first
                             else
                               if(TMSG[ii-1]=='e'||TMSG[ii-1]=='E')               //similar 1e+4
                                      {TMSG[ii]=string[jj]; ii++; }
                               else   EndRD=1;
                             break;
		   case  '.':
                             if(FlagE==1||FlagD==1){EndRD=1;break;  }
                             TMSG[ii]=string[jj];
                             ii++;
                             FlagD=1;
                             break;
		   case  'e':
		   case  'E':
                             if(FlagE==1){EndRD=1;break; }
                             if((TMSG[ii-1]<=57&&TMSG[ii-1]>=48)||TMSG[ii-1]=='.')
                                  {TMSG[ii]=string[jj];ii++; FlagE=1;}
                             else EndRD=1;
                             break;
                   default:

                             TMSG[ii]=string[jj];
                             ii++;
                             break;
                }
     }
   else
     {
       EndRD=1;
       FlagE=0;  FlagD=0;
     }
    if(EndRD==1)
      {
        if(ii>0)
          {
                              TMSG[ii]='\0';
                              if(!(strlen(TMSG)==1&&(TMSG[0]=='+'||TMSG[0]=='-'||TMSG[0]=='.'||TMSG[0]=='e'||TMSG[0]=='E')) )
                                {
                                      data[dd]=AnsiString(TMSG).ToDouble();
                                      dd++;
                                }
       ii=0;
        if(string[jj]=='+'||string[jj]=='-')
          {
           TMSG[0]=string[jj];
           ii++;
          }
        if(string[jj]=='.')
          {
           TMSG[0]=string[jj];
           FlagD=1;
           ii++;
          }
          }
          FlagE=0; FlagD=0; EndRD=0;
      }
 }
                    if(ii>0)
                            {
                              TMSG[ii]='\0';
                              if(!(strlen(TMSG)==1&&(TMSG[0]=='+'||TMSG[0]=='-'||TMSG[0]=='.'||TMSG[0]=='e'||TMSG[0]=='E')) )
                                {
                                      data[dd]=AnsiString(TMSG).ToDouble();
                                      dd++;
                                }
                            }

   return dd;
 }
//------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 int ii;
 char MYMSG[255];
    for(ii=0;ii<NN_Row;ii++)
      if((Data[ii]=(double *)malloc(NN_Column*sizeof(double) ))==NULL)
              {
              sprintf(MYMSG,"Cannot allocate for KoData!");
              Application->MessageBox(MYMSG,"Cannot allocate!",MB_OK);
              }
      if((Data_Flag=(int *)malloc(NN_Row*sizeof(int) ))==NULL)
              {
              sprintf(MYMSG,"Cannot allocate for KoData!");
              Application->MessageBox(MYMSG,"Cannot allocate!",MB_OK);
              }
    Row=0;Column=0;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Btn_SaveResultsClick(TObject *Sender)
{
  char szFileName[MAXFILE+4];
  int WFileHandle;
  int WLength;
  char MYMSG[1500],tempMSG[40];
  double *dataA,*dataB;
  double avgA,mulA,avgB,mulB,mulAB,mul;
  int Column_ReadA,Column_ReadB;
  int row;
      Column_ReadA=ComboBox_Line1->Text.ToInt();
      Column_ReadB=ComboBox_Line2->Text.ToInt();
//  char
  char CH1=13,CH2=10;
  int ii,jj,kk;
   if(Column<=0||Row<=0) return;
      if((dataA=(double *)malloc(Row*sizeof(double) ))==NULL)
              {
              sprintf(MYMSG,"Cannot allocate for KoData!");
              Application->MessageBox(MYMSG,"Cannot allocate!",MB_OK);
              }
      if((dataB=(double *)malloc(Row*sizeof(double) ))==NULL)
              {
              sprintf(MYMSG,"Cannot allocate for KoData!");
              Application->MessageBox(MYMSG,"Cannot allocate!",MB_OK);
              }
     row=0;
     for(ii=0;ii<Row;ii++)
        {
          if(*(Data_Flag+ii)!=Column)
                continue;
          *(dataA+row)=*(Data[ii]+Column_ReadA);
          *(dataB+row)=*(Data[ii]+Column_ReadB);
          row++;
        }

  if (SaveDialog1->Execute())
  {
    if (FileExists(SaveDialog1->FileName))
    {
      fnsplit(SaveDialog1->FileName.c_str(), 0, 0, szFileName, 0);
      strcat(szFileName, ".BAK");
      RenameFile(SaveDialog1->FileName, szFileName);
    }
    WFileHandle = FileCreate(SaveDialog1->FileName);

  if(RadioButton_Corr->Checked==true)                  //Calculate Cross corelation
       for(ii=-row+1;ii<row;ii++)
       {
        avgA=0;mulA=0;avgB=0;mulB=0;mulAB=0; jj=0;mul=0;
          for(kk=0;ii+kk<row&&kk<row;kk++)           //keep dataA quiet, move dataB{-row,+row}
            {
                  if(ii+kk>=0)
                  {
                          if(*(dataA+ii+kk)<-9998||*(dataB+kk)<-9998) continue;
                          avgA=avgA*jj/(jj+1.0)+*(dataA+ii+kk)/(jj+1.0);
                          mulA=mulA*jj/(jj+1.0)+*(dataA+ii+kk)* *(dataA+ii+kk)/(jj+1.0);
                          avgB=avgB*jj/(jj+1.0)+*(dataB+kk)/(jj+1.0);
                          mulB=mulB*jj/(jj+1.0)+*(dataB+kk)* *(dataB+kk)/(jj+1.0);
                          mulAB=mulAB*jj/(jj+1.0)+*(dataA+ii+kk)* *(dataB+kk)/(jj+1.0);
                          mul+=*(dataA+ii+kk)* *(dataB+kk);
                          jj++;
                  }
            }
            if(!(avgA==0||mulA==0||avgB==0||mulB==0||mulAB==0||jj==0||mul==0))
             {
              sprintf(MYMSG,"%d   %g %d%c%c", ii,mul,kk,CH1,CH2);
//              sprintf(MYMSG,"%d %g%c%c", ii,(mulAB-avgA*avgB)/sqrt(mulA-avgA*avgA)/sqrt(mulB-avgB*avgB),CH1,CH2);
              FileWrite(WFileHandle, MYMSG, strlen(MYMSG));
             }
       }
  else
       for(ii=-row/2;ii<=row/2;ii++)                              //Calculate Cross corelation coefficient
       {
        avgA=0;mulA=0;avgB=0;mulB=0;mulAB=0; jj=0;mul=0;
          for(kk=0;ii+kk<row&&kk<row;kk++)           //keep dataA quiet, move dataB{-row/2,+row/2}
            {
                  if(ii+kk>=0)
                  {
                          if(*(dataA+ii+kk)<-9998||*(dataB+kk)<-9998) continue;
                          avgA=avgA*jj/(jj+1.0)+*(dataA+ii+kk)/(jj+1.0);
                          mulA=mulA*jj/(jj+1.0)+*(dataA+ii+kk)* *(dataA+ii+kk)/(jj+1.0);
                          avgB=avgB*jj/(jj+1.0)+*(dataB+kk)/(jj+1.0);
                          mulB=mulB*jj/(jj+1.0)+*(dataB+kk)* *(dataB+kk)/(jj+1.0);
                          mulAB=mulAB*jj/(jj+1.0)+*(dataA+ii+kk)* *(dataB+kk)/(jj+1.0);
                          mul+=*(dataA+ii+kk)* *(dataB+kk);
                          jj++;
                  }
            }
            if(avgA!=0&&mulA!=0&&avgB!=0&&mulB!=0&&mulAB!=0&&jj!=0&&mul!=0&&(mulA-avgA*avgA)>0&&(mulB-avgB*avgB)>0)
             {
               sprintf(MYMSG,"%d %g %d%c%c", ii,(mulAB-avgA*avgB)/sqrt(mulA-avgA*avgA)/sqrt(mulB-avgB*avgB),kk,CH1,CH2);
               FileWrite(WFileHandle, MYMSG, strlen(MYMSG));
             }
       }

 /*    for(ii=0;ii<row;ii++)
     {

       sprintf(MYMSG,"%g  %g%c%c", *(dataA+ii),*(dataB+ii),CH1,CH2);
       FileWrite(WFileHandle, MYMSG, strlen(MYMSG));
     }
   for(ii=0;ii<row;ii++)
     {
                                                          MYMSG[0]='\0';
                                                           for(jj=0;jj<Column;jj++)
                                                            {
                                                             sprintf(tempMSG,"%g, ",*(Data[ii]+jj));
                                                             strcat(MYMSG,tempMSG);
                                                            }
                                                             sprintf(tempMSG,"%c%c",CH1,CH2);
                                                             strcat(MYMSG,tempMSG);
              FileWrite(WFileHandle, MYMSG, strlen(MYMSG));
     }
           */




  if(RadioButton_Corr->Checked==true)
    Label5->Caption="Saved into file: "+SaveDialog1->FileName;
  else
    Label5->Caption="Saved into file: "+SaveDialog1->FileName;

    FileClose(WFileHandle);
  }
}
//---------------------------------------------------------------------------



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人与z0zoxxxx视频| 国产精品剧情在线亚洲| 欧美国产日韩一二三区| 亚洲一区二区黄色| 成人黄色免费短视频| 7777精品久久久大香线蕉| 国产精品丝袜在线| 久久激情五月激情| 欧美日韩免费电影| 亚洲乱码国产乱码精品精98午夜| 精品亚洲porn| 欧美一区二区三区视频免费| 依依成人综合视频| 99精品久久只有精品| 久久久久国产精品厨房| 秋霞午夜鲁丝一区二区老狼| 91蝌蚪porny成人天涯| 中文字幕免费不卡在线| 国内精品免费在线观看| 日韩欧美一区在线| 日本怡春院一区二区| 欧美日韩激情一区二区| 一区二区三区在线视频观看| 成人av小说网| 中文字幕电影一区| 成人午夜视频网站| 亚洲国产精品成人综合| 丁香婷婷综合激情五月色| 精品成人一区二区三区四区| 久久精品国产秦先生| 精品黑人一区二区三区久久| 奇米色一区二区| 日韩欧美一级精品久久| 精品一区二区三区在线播放视频| 日韩一区二区视频在线观看| 天天综合色天天综合色h| 9191久久久久久久久久久| 亚洲国产精品一区二区尤物区| 欧美在线|欧美| 午夜一区二区三区视频| 91麻豆精品国产91| 九九热在线视频观看这里只有精品| 欧美一区二区三区喷汁尤物| 麻豆91精品91久久久的内涵| 精品国产一区二区三区忘忧草| 激情六月婷婷久久| 久久亚洲精品国产精品紫薇| 成人性色生活片免费看爆迷你毛片| 国产精品久久久久永久免费观看 | 欧美军同video69gay| 日日摸夜夜添夜夜添亚洲女人| 日韩欧美在线网站| 岛国精品在线观看| 亚洲国产一区二区在线播放| 日韩亚洲欧美中文三级| 粗大黑人巨茎大战欧美成人| 亚洲男人天堂av网| 91精品国产一区二区| 国产精品羞羞答答xxdd| 亚洲人成精品久久久久久| 欧美久久免费观看| 国产成人高清视频| 亚洲国产一区二区三区| 久久综合五月天婷婷伊人| 99久久精品免费看国产免费软件| 亚洲第一激情av| 国产喷白浆一区二区三区| 色综合色狠狠天天综合色| 免费在线观看不卡| 中文字幕亚洲精品在线观看| 欧美电影在线免费观看| 从欧美一区二区三区| 视频在线观看91| 国产精品美女久久久久高潮| 91精品国产综合久久香蕉的特点| 黄色资源网久久资源365| 亚洲精品v日韩精品| www激情久久| 欧美亚洲动漫精品| 国产成人精品一区二区三区网站观看| 亚洲国产精品一区二区www| 久久久精品蜜桃| 欧美肥胖老妇做爰| 一本色道a无线码一区v| 国产麻豆成人精品| 日本成人在线电影网| 亚洲乱码日产精品bd| 欧美国产一区视频在线观看| 欧美一区二区在线不卡| 91免费看片在线观看| 国产91对白在线观看九色| 免费成人av资源网| 性久久久久久久久| 亚洲人成精品久久久久| 国产精品国产三级国产普通话三级 | 久久99国产精品麻豆| 一个色妞综合视频在线观看| 欧美极品xxx| 亚洲精品一区二区三区99| 91麻豆精品国产91久久久更新时间| 91蜜桃婷婷狠狠久久综合9色| 国产aⅴ综合色| 国产一区二区精品在线观看| 麻豆精品视频在线观看免费| 日本强好片久久久久久aaa| 一区二区在线观看av| 亚洲精品日韩综合观看成人91| 国产欧美日本一区视频| 久久精品一区八戒影视| 精品日韩欧美在线| 日韩免费观看高清完整版在线观看| 在线观看欧美黄色| 在线观看一区二区精品视频| 91麻豆产精品久久久久久| 一本色道久久综合精品竹菊| 91免费在线播放| 欧美视频完全免费看| 日韩午夜中文字幕| 欧美一区二区三区不卡| 7777精品伊人久久久大香线蕉完整版| 51午夜精品国产| 欧美r级在线观看| 久久精品亚洲精品国产欧美kt∨ | 在线观看亚洲精品| 欧洲精品中文字幕| 欧美视频一区二区三区在线观看| 欧洲一区二区三区免费视频| 欧美三级电影在线看| 欧美日韩国产在线播放网站| 欧美一区二区性放荡片| xfplay精品久久| 中文av一区特黄| 亚洲激情图片小说视频| 日韩影院免费视频| 精品一区二区成人精品| 成人av在线资源网站| 91久久久免费一区二区| 91精品国产免费久久综合| 久久综合狠狠综合久久激情 | 亚洲欧洲综合另类| 午夜精品一区二区三区免费视频 | 欧美日韩成人一区二区| 欧美一区二区黄| 国产亚洲精品bt天堂精选| 亚洲色图色小说| 青青草原综合久久大伊人精品| 国产福利91精品一区二区三区| av激情亚洲男人天堂| 7777精品伊人久久久大香线蕉完整版| 久久久另类综合| 玉足女爽爽91| 国产老妇另类xxxxx| 欧美性视频一区二区三区| 精品福利一二区| 亚洲人成小说网站色在线| 日本欧美在线看| 91福利精品第一导航| 久久综合色8888| 亚洲1区2区3区视频| 成人精品一区二区三区中文字幕| 欧美三电影在线| 国产精品美女久久久久久久久久久 | 精品国一区二区三区| 亚洲综合男人的天堂| 国产成人午夜片在线观看高清观看| 色激情天天射综合网| 国产日韩在线不卡| 亚洲成av人片在www色猫咪| 岛国精品在线观看| 日韩欧美国产一二三区| 亚洲永久免费视频| 成人午夜大片免费观看| 精品1区2区在线观看| 香蕉影视欧美成人| 色综合久久综合网| 国产精品青草久久| 韩国三级电影一区二区| 欧美精选一区二区| 亚洲三级免费电影| 丁香婷婷综合色啪| 久久久久久久久久久黄色| 男人操女人的视频在线观看欧美| 91福利国产精品| 亚洲日本韩国一区| 成人免费黄色在线| 国产日韩欧美精品电影三级在线 | 日韩一区二区三区免费看| 亚洲综合久久久| 色综合天天做天天爱| 亚洲国产精品久久人人爱蜜臀| 成a人片国产精品| 久久精品日产第一区二区三区高清版 | 久久蜜臀精品av| 久久精品国产亚洲5555| 91精品国产免费久久综合| 五月天国产精品| 91麻豆精品91久久久久久清纯| 亚洲成人av资源| 91精品国产欧美一区二区18| 日本不卡高清视频|