自由,梦想分享 http://blog.sciencenet.cn/u/dalilijiang

博文

数据处理

已有 2498 次阅读 2011-6-15 10:33 |系统分类:科研笔记| 数据处理, 源程序

     
#include<iostream>
#include<fstream>
#include<cmath>
#include<string>
#include<cstdlib>
#include<iomanip>
 
using namespace std;
class shuzhifenxi        //ŽŽœšÀà¡£
{
private:
 int n,m,e,z,cd,cd1;
 double **a, *b,**d,*c,**g,*com;
 string *line,*line1;
public:
   shuzhifenxi(int nn,int ee,int zz)//n£ºshu¡ª¡ªju¡ª¡ªzong¡ª¡ªhangshu£¬×ÜÐÐÊý,Ëæ±ãÊäÈëÒ»žöÊýÖµ,µ«ÒªŽóÓÚ×ÜÊýÖµ£»e:ÎÄŒþžöÊý£»z£ºÇóÆœŸùÊýŸÝžöÊý£¬ŒŽŒžžöÊýŸÝÇóÆœŸù
{ int i;
 n=nn;e=ee;z=zz;
  a=new double*[n+2];
 for(i=0;i<n+1;i++) a[i]=new double[e];
  g=new double*[e/2];
  for(i=0;i<e/2;i++) g[i]=new double[e];
  line=new string[e];
  line1=new string[e];
  com=new double[e];
  b=new double[n+2];
  d=new double*[n/z];
for(i=0;i<n/z;i++) d[i]=new double[e+1];
 c=new double[n/z];
}
void input();         //ŽÓÎÄŒþ¶ÁÈëžöÎÄŒþÊýŸÝ£¬
 
void fenduanpingjun(); //·Ö¶ÎÇóÆœŸù
void endpingjun();          // ×îºóÊýŸÝÇóÆœŸù
void hengxiangpingjun();
void zongpingjun();
void tongendpingjun(); 
void biaozhuncha(); 
void output();  
void output2();    
void output3(); 
void output4();    //Êä³öœá¹ûµœÎÄŒþ
~shuzhifenxi()
{int i;
for(i=0;i<n+2;i++){delete[] a[i];}
delete[]line;
delete[]line1;
delete[]a;
delete[]b;
delete[]c; 
for(i=0;i<n/z;i++){delete[] d[i];}
delete[]d;
delete[]g;
for(i=0;i<e/2;i++){delete[] g[i];}
delete[]com; 
}
};
 
 
void shuzhifenxi::input()       //¶ÁÈëÎÄŒþ£¬ÎÄŒþÃû°ŽË³Ðò¶ÁÈë
 
{
  int i,j;
   string file_name[500]={"1.txt","1 (1) ","1 (2) ","1 (3) ","1 (4) ","1 (5) ","1 (6) ","1 (7) ","1 (8) ","1 (9) ","1 (10) ",
   "1 (11) ","1 (12) ","1 (13) ","1 (14) ","1 (15) ","1 (16) ","1 (17) ","1 (18) ","1 (19) ","1 (20) ",
   "1 (21) ","1 (22) ","1 (23) ","1 (24) ","1 (25) ","1 (26) ","1 (27) ","1 (28) ","1 (29) ","1 (30) ",
   "1 (31) ","1 (32) ","1 (33) ","1 (34) ","1 (35) ","1 (36) ","1 (37) ","1 (38) ","1 (39) ","1 (40) ",
   "1 (41) ","1 (42) ","1 (43) ","1 (44) ","1 (45) ","1 (46) ","1 (47) ","1 (48) ","1 (49) ","1 (50) ",
   "1 (51) ","1 (52).out","1 (53).out","1 (54).out","1 (55).out","1 (56).out","1 (57).out","1 (58).out","1 (59).out","1 (60).out",
   "1 (61).out","1 (62).out","1 (63).out","1 (64).out","1 (65).out","1 (66).out","1 (67).out","1 (68).out","1 (69).out","1 (70).out",
   "1 (71).out","1 (72).out","1 (73).out","1 (74).out","1 (75).out","1 (76).out","1 (77).out","1 (78).out","1 (79).out","1 (80).out",
   "1 (81).out","1 (82).out","1 (83).out","1 (84).out","1 (85).out","1 (86).out","1 (87).out","1 (88).out","1 (89).out","1 (90).out",
   "1 (91).out","1 (92).out","1 (93).out","1 (94).out","1 (95).out","1 (96).out","1 (97).out","1 (98).out","1 (99).out","1 (100).out",
   
   
   "1 (101).out","1 (102).out","1 (103).out","1 (104).out","1 (105).out","1 (106).out","1 (107).out","1 (108).out","1 (109).out","1 (110).out",
   "1 (111).out","1 (112).out","1 (113).out","1 (114).out","1 (115).out","1 (116).out","1 (117).out","1 (118).out","1 (119).out","1 (120).out",
   "1 (121).out","1 (122).out","1 (123).out","1 (124).out","1 (125).out","1 (126).out","1 (127).out","1 (128).out","1 (129).out","1 (130).out",
   "1 (131).out","1 (132).out","1 (133).out","1 (134).out","1 (135).out","1 (136).out","1 (137).out","1 (138).out","1 (139).out","1 (140).out",
   "1 (141).out","1 (142).out","1 (143).out","1 (144).out","1 (145).out","1 (146).out","1 (147).out","1 (148).out","1 (149).out","1 (150).out",
   "1 (151).out","1 (152).out","1 (153).out","1 (154).out","1 (155).out","1 (156).out","1 (157).out","1 (158).out","1 (159).out","1 (160).out",
   "1 (161).out","1 (162).out","1 (163).out","1 (164).out","1 (165).out","1 (166).out","1 (167).out","1 (168).out","1 (169).out","1 (170).out",
   "1 (171).out","1 (172).out","1 (173).out","1 (174).out","1 (175).out","1 (176).out","1 (177).out","1 (178).out","1 (179).out","1 (180).out",
   "1 (181).out","1 (182).out","1 (183).out","1 (184).out","1 (185).out","1 (186).out","1 (187).out","1 (188).out","1 (189).out","1 (190).out",
   "1 (191).out","1 (192).out","1 (193).out","1 (194).out","1 (195).out","1 (196).out","1 (197).out","1 (198).out","1 (199).out","1 (200).out",
   
   "1 (201).out","1 (202).out","1 (203).out","1 (204).out","1 (205).out","1 (206).out","1 (207).out","1 (208).out","1 (209).out","1 (210).out",
   "1 (211).out","1 (212).out","1 (213).out","1 (214).out","1 (215).out","1 (216).out","1 (217).out","1 (218).out","1 (219).out","1 (220).out",
   "1 (221).out","1 (222).out","1 (223).out","1 (224).out","1 (225).out","1 (226).out","1 (227).out","1 (228).out","1 (229).out","1 (230).out",
   "1 (231).out","1 (232).out","1 (233).out","1 (234).out","1 (235).out","1 (236).out","1 (237).out","1 (238).out","1 (239).out","1 (240).out",
   "1 (241).out","1 (242).out","1 (243).out","1 (244).out","1 (245).out","1 (246).out","1 (247).out","1 (248).out","1 (249).out","1 (250).out",
   "1 (251).out","1 (252).out","1 (253).out","1 (254).out","1 (255).out","1 (256).out","1 (257).out","1 (258).out","1 (259).out","1 (260).out",
   "1 (261).out","1 (262).out","1 (263).out","1 (264).out","1 (265).out","1 (266).out","1 (267).out","1 (268).out","1 (269).out","1 (270).out",
   "1 (271).out","1 (272).out","1 (273).out","1 (274).out","1 (275).out","1 (276).out","1 (277).out","1 (278).out","1 (279).out","1 (280).out",
   "1 (281).out","1 (282).out","1 (283).out","1 (284).out","1 (285).out","1 (286).out","1 (287).out","1 (288).out","1 (289).out","1 (290).out",
   "1 (291).out","1 (292).out","1 (293).out","1 (294).out","1 (295).out","1 (296).out","1 (297).out","1 (298).out","1 (299).out","1 (300).out",
   
   
   "1 (301).out","1 (302).out","1 (303).out","1 (304).out","1 (305).out","1 (306).out","1 (307).out","1 (308).out","1 (309).out","1 (310).out",
   "1 (311).out","1 (312).out","1 (313).out","1 (314).out","1 (315).out","1 (316).out","1 (317).out","1 (318).out","1 (319).out","1 (320).out",
   "1 (321).out","1 (322).out","1 (323).out","1 (324).out","1 (325).out","1 (326).out","1 (327).out","1 (328).out","1 (329).out","1 (330).out",
   "1 (331).out","1 (332).out","1 (333).out","1 (334).out","1 (335).out","1 (336).out","1 (337).out","1 (338).out","1 (339).out","1 (340).out",
   "1 (341).out","1 (342).out","1 (343).out","1 (344).out","1 (345).out","1 (346).out","1 (347).out","1 (348).out","1 (349).out","1 (350).out",
   "1 (351).out","1 (352).out","1 (353).out","1 (354).out","1 (355).out","1 (356).out","1 (357).out","1 (358).out","1 (359).out","1 (360).out",
   "1 (361).out","1 (362).out","1 (363).out","1 (364).out","1 (365).out","1 (366).out","1 (367).out","1 (368).out","1 (369).out","1 (370).out",
   "1 (371).out","1 (372).out","1 (373).out","1 (374).out","1 (375).out","1 (376).out","1 (377).out","1 (378).out","1 (379).out","1 (380).out",
   "1 (381).out","1 (382).out","1 (383).out","1 (384).out","1 (385).out","1 (386).out","1 (387).out","1 (388).out","1 (389).out","1 (390).out",
   "1 (391).out","1 (392).out","1 (393).out","1 (394).out","1 (395).out","1 (396).out","1 (397).out","1 (398).out","1 (399).out","1 (400).out",};
   for(j=0;j<e;j++)       
   { cout<<"n读入文件"<<j+1;
   cout<<"n "; 
 { ifstream fin(file_name[j].c_str());
             if (!fin)
             {cout<<"n不能打开文件"<<endl;exit(1);}
             getline (fin,line[j]);
              getline (fin,line[j]);
               getline (fin,line[j]);
             getline (fin,line1[j]);
                  {
                      for(i=0;i<n;i++) 
                      { fin>>b[i];fin>>a[i][j]; 
                        if (!fin) 
                        {com[j]=i; cout<<com[j];fin.close();cd1=cd;break;
                        } 
                      }
             
                  }
     
  
 }
  
}
cout<<"n";
cout<<"n";
n=0;i=0;
 for(j=0;j<e;j++)
    { i=com[j];if(i>=n) n=i;else n=n;}
cout<<"最大行数"<<n;
 
 
}
void shuzhifenxi::zongpingjun() 
{{int i,j; double s; 
 
for(j=0;j<e;j++)
{ s=0; z=com[j];
for(i=com[j]-z;i<com[j];i++)
         s=s+a[i][j];
         a[n+1][j]=s/z;
        }
}
 
}
 
void shuzhifenxi::fenduanpingjun()       //·Ö¶ÎÇóÆœŸù£ºœá¹û·ÅÈëd¡Ÿ¡¿¡Ÿ¡¿ÖÐ
{int i,j,k,p; double s; 
{m=n/z;
for(p=0;p<e;p++)
{ k=0; 
for(j=0;j<m;j++)
{ s=0; for(i=k;i<k+z;i++)
         s=s+a[i][p];
       d[j][p]=s/z;
        k=k+z;}
}
}
{k=0; j=0;
for(i=0;i<m;i++)
{c[i]=b[j];
j=j+z;
}}
}
 
 
void shuzhifenxi::endpingjun()       // 
{int i,j; double s; 
 
for(j=0;j<e;j++)
{ s=0; 
for(i=com[j]-z;i<com[j];i++)
         s=s+a[i][j];
         a[n+1][j]=s/z;
        }
}
 
 
void shuzhifenxi::tongendpingjun()  //ÏàͬÊýŸÝ·ÅÔÚg¡Ÿ¡¿¡Ÿ¡¿ÖÐ
{int i,j=1,k=0,r=0,m=0,zc[2000]; zc[0]=0;
for(i=0;i<e;i++)
for(j=1;j<e;j++)
 
{     
    if(com[i]==com[j]) 
    {
    g[i][k]=a[n+1][j];k=k+1;
         
    }
}
}
 
void shuzhifenxi::biaozhuncha()
{int i,j; double s,t; 
t=m-1;
cout<<setiosflags(ios::fixed)<<setprecision(6)<<"t=";
for(i=0;i<e;i++)
{ s=0;
for(j=0;j<m;j++)
     s=s+((d[j][i]-a[n+1][i])*(d[j][i]-a[n+1][i]));
a[n+2][i]=sqrt(s/t);
}
}
 
 
void shuzhifenxi::hengxiangpingjun() //ÇóÐÐÆœŸù£¬Æäœá¹û·ÅÈëg¡Ÿ¡¿ÖÐ
{int i,j; double s; 
   for(j=0;j<m;j++)
{ s=0; for(i=0;i<e;i++)
         s=s+d[j][i];
       d[j][e+1]=s/e;
       }
 
 
}
 
 
 
 
void shuzhifenxi::output()       //Êä³öœá¹û·Ö¶ÎÇóÆœŸù
 
{
int i,j;
char str2[20];
cout<<"n";
cout<<"n";cout<<"Êä³öÆœŸùºóÐÐÊý: "<<m<<"n";
cout<<"n";
 cout<<"Êä³öœá¹ûµÄÎÄŒþÃû(ºó׺Ϊ.xls£©";
 cout<<"n";
cin>>str2;
ofstream fout (str2);
if(!fout)
{cout<<"n²»ÄÜŽò¿ªÕâžöÎÄŒþŒÐ"<<str2<<endl;exit(1);}
fout<<endl;cout<<endl;
 
 fout<<"ʱŒä²œ "<<"t";
for(j=0;j<e;j++)
{
  fout<<line[j]<<line1[j];
   fout<<"t";}
fout<<"ºáÏòÊýŸÝÆœŸù";
fout<<"n";
 
for(j=0;j<m;j++)
{fout<<c[j]<<"t";
for(i=0;i<e;i++)
 
fout<<setiosflags(ios::fixed)<<setprecision(20)<<d[j][i]<<"t";
fout<<d[j][e+1];
fout<<"n";
}
for(j=0;j<e;j++)
for(i=0;i<m;i++)
cout<<d[i][j]<<"t"<<g[i]<<"t"<<endl;
 
 
fout.close();
 
 
}
 
void shuzhifenxi::output2()       //Êä³öœá¹û
 
{
int i,j,k;
char str2[20];
 cout<<"Êä³öœá¹ûµÄÎÄŒþÃû(ºó׺Ϊ.xls)";
cout<<"n";
cin>>str2;
ofstream fout (str2);
if(!fout)
{cout<<"n²»ÄÜŽò¿ªÕâžöÎÄŒþŒÐ"<<str2<<endl;exit(1);}
fout<<endl;cout<<endl;
 
 
 fout<<"ʱŒä²œ "<<"t";
for(j=0;j<e;j++)
{
  fout<<line[j]<<line1[j];
   fout<<"t";
}
k=z;
fout<<"n";
for(k;k>0;k--)
{    fout<<z-k+1<<"t";
for(j=0;j<e;j++)
{i=com[j]-k;
fout<<a[i][j]<<"t";
   
}
fout<<"n";
}
fout<<"ÊúÏòÆœŸù"<<"t";
 
for(j=0;j<e;j++)
{
    fout<<a[n+1][j]<<"t";
 
cout<<a[n+1][j]<<"t"<<endl;}
 
 
fout.close();
 
 
}
 
void shuzhifenxi::output3()       //Êä³öœá¹û
 
{
int i,j;
char str2[20];
 cout<<"Êä³öœá¹ûµÄÎÄŒþÃû(ºó׺Ϊ.xls)";
cout<<"n";
cin>>str2;
ofstream fout (str2);
if(!fout)
{cout<<"n²»ÄÜŽò¿ªÕâžöÎÄŒþŒÐ"<<str2<<endl;exit(1);}
fout<<endl;cout<<endl;
 
for(i=0;i<e/2;i++)
{    fout<<g[i][j]<<"t";
for(j=0;j<e;j++)
{  
    fout<<g[i][j]<<"t";
 
    fout<<"n";
 
    cout<<g[i][j]<<"t"<<endl;}}
 
 
fout.close();
 
 
}
 
 
void shuzhifenxi::output4()       //Êä³ö±ê׌²î
{
int j;
char str2[20];
 cout<<"Êä³öœá¹ûµÄÎÄŒþÃû(ºó׺Ϊ.xls)";
cout<<"n";
cin>>str2;
ofstream fout (str2);
if(!fout)
{cout<<"n²»ÄÜŽò¿ªÕâžöÎÄŒþŒÐ"<<str2<<endl;exit(1);}
fout<<endl;cout<<endl;
 
for(j=0;j<e;j++)
{  
fout<<a[n+2][j]<<"t";
    cout<<a[n+2][j]<<"t"<<endl;}
fout.close();
}
 
 
 
int main() 
          //Ö÷º¯Êý  ÏÖÔÚ zΪ×îºóÇóµÄÆœŸùÊý¡£
{ int j;
 shuzhifenxi h(10,1,4);
   cout<<"输入要处理数据类型0.1 2 3 ";
   cin>>j;
switch (j)
{ case 0 : { h.input();        
              h.zongpingjun();
             h.output2();
   
              }
        break;
         
  case 1 : {h.input();
             h.fenduanpingjun();
             h.hengxiangpingjun();
             h.output();
              }
        break;
 
 
 
}return 0;
 
 
}


https://wap.sciencenet.cn/blog-522898-455445.html

上一篇:文学,诗,短诗(四)
下一篇:静夜小语
收藏 IP: 182.242.231.*| 热度|

1 郭桅

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-11 04:35

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部