![]() |
#2
HenryLin82012-10-12 12:51
|
您好!
本人是C++新手,正在边个二维数据分析的项目,用的是C++2010,
目的是把一个存有二维数据的制表符分隔的TXT文档读入后,把运算的二维结果输出到名为result的TXT文档中。
测试用的二维数组是10行10列的只有0和1的数据。
我正在先测试输入输出部分,还没写数据分析部分,代码如下:

#include <iostream>
#include <fstream>
//#include <stdio.h>
#include <ctime>
using namespace std;
int main()
{
long start,finish;
start=clock();
ifstream sfile("sdata.txt",ios::in); //输入部分
//FILE *sdata;
//sdata=fopen("sdata.txt","r");
const unsigned short row=10,col=10;
unsigned short r,c;
unsigned short s[row][col];
for(r=0;r<row,r++;)
for(c=0;c<col;c++)
sfile>>s[r][c];
sfile.close();
//unsigned short (*sp)[col];
//sp=s;
//fclose(sdata);
ofstream rfile("result.txt",ios::out); //输出部分
for(r=0;r<row;r++)
for(c=0;c<col;c++)
{
rfile<<s[r][c]<<" ";
if (c=col-1) cout<<endl;
}
delete[] s;
rfile.close();
double duration;
finish=clock();
duration=(double)(finish-start)/CLOCKS_PER_SEC;
cout<<"duration="<<duration<<endl;
return 0;
}
代码编译可以通过,但是运行(不调试)时就出现附件中的对话框。#include <fstream>
//#include <stdio.h>
#include <ctime>
using namespace std;
int main()
{
long start,finish;
start=clock();
ifstream sfile("sdata.txt",ios::in); //输入部分
//FILE *sdata;
//sdata=fopen("sdata.txt","r");
const unsigned short row=10,col=10;
unsigned short r,c;
unsigned short s[row][col];
for(r=0;r<row,r++;)
for(c=0;c<col;c++)
sfile>>s[r][c];
sfile.close();
//unsigned short (*sp)[col];
//sp=s;
//fclose(sdata);
ofstream rfile("result.txt",ios::out); //输出部分
for(r=0;r<row;r++)
for(c=0;c<col;c++)
{
rfile<<s[r][c]<<" ";
if (c=col-1) cout<<endl;
}
delete[] s;
rfile.close();
double duration;
finish=clock();
duration=(double)(finish-start)/CLOCKS_PER_SEC;
cout<<"duration="<<duration<<endl;
return 0;
}
请各位高手指点迷津!
谢谢!
[ 本帖最后由 HenryLin8 于 2012-10-12 12:50 编辑 ]