您的位置:首页 > 其它

第二次作业

2016-03-07 00:34 253 查看
第一版本程序Prog1: + 给定一个数组,实现数组元素求和;,具体要求:实现对一维数组(a[100])的所有元素相加运算。 + 数据准备:a)数组长度:100;b)数组数据来源:实验数据A列:1~100,CSV 格式则填充 前100个数据.

源代码

#include<iostream>
#include<fstream>
using namespace std;

int main(void)
{
int a[100];
int sum=0;
ifstream f("D:\\a.txt");
for(int i=0;f>>a[i],i<100;i++)
sum+=a[i];
cout<<sum<<endl;
return 0;
}


实验结果



简单的数组求和,并没有什么难度,数据的提取通过TXT文档来实现。

第二版本程序Prog2: + 改写成一个函数(函数名称为ArraySum),能实现任意长度数组所有元素求和; + 数据准备:a)数组长度:任意; b)数组数据来源:实验数据A列.

源代码

#include<iostream>
#include<fstream>
using namespace std;

void ArraySum(int n)
{
int *a;
a=new int
;
int sum=0;
ifstream f("D:\\a.txt");
for(int i=0;f>>a[i],i<n;i++)
sum+=a[i];
cout<<sum<<endl;
delete []a;
}

int main(void)
{
int n;//数组长度
cout<<"数组长度"<<endl;
cin>>n;
ArraySum(n);
return 0;
}


实验结果



相对于一开始,多了一个数组的长度并没有给定,所以直接在函数里定义数组。

第三版本程序Prog3: + 将Prog2改写成能从文件中读取数据,实现任意长度数组,指定范围内元素相加。 + 数据准备:a)数组长度:任意; b)数组数据来源:从文件中读取.

源代码

#include<iostream>
#include<fstream>
using namespace std;

void ArraySum(int n,double x,double y)
{
int *a;
a=new int
;
int sum=0;
ifstream f("D:\\a.txt");
for(int i=0;f>>a[i],i<n;i++)
if(a[i]>=x&&a[i]<=y) sum+=a[i];
cout<<sum<<endl;
delete []a;
}

int main(void)
{
int n;//数组长度
double x;//求和元素最小值
double y;//求和元素最大值
cout<<"数组长度"<<endl;
cin>>n;
cout<<"求和元素最小值"<<endl;
cin>>x;
cout<<"求和元素最大值"<<endl;
cin>>y;
ArraySum(n,x,y);
return 0;
}


增加求和元素的范围,求和之前筛选出满足条件的求和元素
实验结果


在编程过程中,要求提取CSV格式数据,这方面并没有了解所以选择了C++中的文件流提取TXT中的数据

上传github https://github.com/Superbiali/data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: