prog1详细要求:

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

【我的prog1的实现过程和问题解决】.

prog1中运用到的数组的思路其实不难,但是刚开始我就卡在了怎么从excel中提取数据到c++中数组中去这个问题上,看到了群里的讨论之后,我试着把数据用txt打开,然后在翻了c++的书之后,我又想到了头文件的问题,头文件#include<fstream>(包含文件流,这样就可以使用与文件相关的一些函数,像open(),close()等---摘自百度),但是试验了之后发现答案一直是-80,不管数据怎么变都没用,意识到可能是for语句里面的错,在翻了c++书以后,找到了>>(流提取运算符),添加运算符到for循环语句之后,才解决了问题。

源程序:

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

int main()
{
int sum=0,i,a[100];//定义数组和为0,存放数组
ifstream f("d:\\数据来源.txt");
for(i=0;f>>a[i],i<100;i++)//流提取云算符
{sum+=a[i];}
cout<<"数组求和为:"<<sum<<endl;
return sum;
}

源程序截图:

结果如下:


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

【我的prog2的实现过程和问题解决】.

在解决了读取数据这个问题和prog1之后,prog2只是改变了任意数组长度并且要求用函数就感觉好做的多,申请整形变量空间,赋初值为l,把prog1中的for语句改动之后弄到ArraySum函数里面去,之后调用。数据的问题我重新复制了所有A列的数据新建了一个txt文档。

源程序:

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

ArraySum(int l)
{
int *a,sum=0,i;
a=new int[l];
ifstream f("d:\\数据来源1.txt");
for(i=0;f>>a[i],i<l;i++)//流提取云算符
{sum+=a[i];}
cout<<"数组求和为:"<<sum<<endl;
return sum;
}
void main()
{
int l=0;
cout<<"输入任意数组长度为:";
cin>>l;
ArraySum(l);
}

源程序截图:

三组实验数据,数组长度依次为:5、100和200


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

【我的prog3的实现过程和问题解决】.

看到了prog3之后,prog1和prog2中我已经从文件中A列读取数据,prog2中也实现了任意长度数组求和,这样要求就变成了指定范围元素相加,在main中定义了最大值最小值,并在ArraySum函数中也增加了min和max。

源程序:

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

ArraySum(int l,int min,int max)
{
int *a,sum=0,i;
a=new int[l];
ifstream f("d:\\数据来源1.txt");
for(i=0;f>>a[i],i<l;i++)
{if(a[i]>=min&&max>=a[i])
sum+=a[i];
}
cout<<"数组求和为:"<<sum<<endl;
}

void main()
{
double min,max;
cout<<"输入范围最小值:";
cin>>min;
cout<<"输入范围最大值:";
cin>>max;
int l=0;
cout<<"输入数组长度为:";
cin>>l;
ArraySum(l,min,max);
}

源程序截图:

结果如下:

【最后我的总体体会】

这三个程序总的来说是一个循序渐进的编程过程,要求可以说是在上一个的基础上继续发展。我也在其中遇到了很多问题,具体的感触已经写在了每个具体程序的介绍中。由于c++已经是大一的内容了,好多具体知识还需要翻书了解,时间花得特别多。

我的github链接:https://github.com/liuyutianlyt/SUM.md

个人项目-数组求和(语言:C++)的更多相关文章

  1. C# 使用SIMD向量类型加速浮点数组求和运算(1):使用Vector4、Vector<T>

    作者: 目录 一.缘由 二.使用向量类型 2.1 基本算法 2.2 使用大小固定的向量(如 Vector4) 2.2.1 介绍 2.2.2 用Vector4编写浮点数组求和函数 2.3 使用大小与硬件 ...

  2. 【原】C++11并行计算 — 数组求和

    本文转载请注明出处 -- polobymulberry-博客园 0x00 - 前言 最近想优化ORB-SLAM2,准备使用并行计算来提高其中ORB特征提取的速度.之前对并行计算方面一窍不通.借此机会, ...

  3. 转:从开源项目学习 C 语言基本的编码规则

    从开源项目学习 C 语言基本的编码规则 每个项目都有自己的风格指南:一组有关怎样为那个项目编码约定.一些经理选择基本的编码规则,另一些经理则更偏好非常高级的规则,对许多项目而言则没有特定的编码规则,项 ...

  4. js数组求和

    array1.reduce(callbackfn[, initialValue]) callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的第一次调用使用 ...

  5. 《Intel汇编第5版》 数组求和

    一.LOOP指令 二.间接寻址 三.汇编数组求和 INCLUDE Irvine32.inc includelib Irvine32.lib includelib kernel32.lib includ ...

  6. Javascript数组求和的方法总结 以及由斐波那契数列得到的启发

    一次面试中,面试官要求用三种不同的Javascript方法进行一个数字数组的求和,当时思来想去只想到了使用循环这一种笨方法,因此面试比较失败,在这里总结了六种Javascript进行数组求和的方法,以 ...

  7. [java大数据面试] 2018年4月百度面试经过+三面算法题:给定一个数组,求和为定值的所有组合.

    给定一个数组,求和为定值的所有组合, 这道算法题在leetcode应该算是中等偏下难度, 对三到五年工作经验主要做业务开发的同学来说, 一般较难的也就是这种程度了. 简述经过: 不算hr面,总计四面, ...

  8. 数据结构基础(1)--数组C语言实现--动态内存分配

    数据结构基础(1)--数组C语言实现--动态内存分配 基本思想:数组是最常用的数据结构,在内存中连续存储,可以静态初始化(int a[2]={1,2}),可以动态初始化 malloc(). 难点就是数 ...

  9. js 数组求和,多种方法,并比较性能

    可以借用下面12种方法对数组求和,创建一个长度为10w的数组,进行测试 every()       检测数值元素的每个元素是否都符合条件. filter()      检测数值元素,并返回符合条件所有 ...

随机推荐

  1. EF调用存储过程查询表中的部分字段,报数据读取器与指定的“AdventureWorksDWModel.Student”不兼容。某个类型为“Age”的成员在同名的数据读取器中没有对应的列。

    实现功能:查询单张表Student中返回指定的列 一:数据库表结构: 二:存储过程: USE [AdventureWorksDW] GO /****** Object: StoredProcedure ...

  2. Appium使用ID进行定位

      1 使用uiautomatorviewer地获取元素ID 路径:sdk\tools\uiautomatorviewer.bat 2 脚本中增加点击事件 driver.find_element_by ...

  3. 语音-数字中继-E1-学习帖

     1.电话线,俗称数字中继,模拟线路,一门电话线只能跑一个电话号码,用模拟语音卡:2.光纤,信令有两种30B+D(也叫pri信令)或者7号信令,数字线路,一路可以跑30路电话,用数字语音卡:数字语音卡 ...

  4. 第1课 GUI程序原理分析

    1. 命令行应用程序 (1)命令行应用程序的特点 ①是一种基于顺序执行结构的可执行程序 ②程序执行过程中不需要与用户产生交互 ③程序执行后给出最终的运行结果 (2)命令行应用程序的运行模式——程序运行 ...

  5. solr搜索之搜索精度问题我已经尽力了!!!

    solr搞了好久了,没啥进展,没啥大的突破,但是我真的尽力了! solr7可能是把默认搜索方式去掉了,如下: 在solr7里找了半天以及各种查资料也没发现这个默认搜索方式,后来想,可能是被edisma ...

  6. 我的solr学习笔记--solr admin 页面 检索调试

    前言 Solr/Lucene是一个全文检索引擎,全文引擎和SQL引擎所不同的是强调部分相关度高的内容返回,而不是所有内容返回,所以部分内容包含在索引库中却无法命中是正常现象.      多数情况下我们 ...

  7. 迷你MVVM框架 avalonjs 沉思录 第3节 动态模板

    模板的发明是编程史上的一大里程碑,让我们摆脱了烦锁且易出错的字符串拼接,维护性大大提高. 都在JSP,ASP时代,人们已经学会使用include等语句,将多个页面片断拼接成一个页面. 此外,为了将数据 ...

  8. 在Eclipse中创建Maven版的Web工程

    步骤: 1.第一步 2.第二步 3.第三步 4.第四步 选中项目,右键在弹出的对话框中选择properties 5.第五步 6.第六步

  9. eval函数的使用之一

    把从后台传到前端的json格式的字符串转成json success: function(data){ var json =eval("("+data+")"); ...

  10. NBU 还原windows ORACLE数据库(BW)

    将0.92数据库还原到1.92,还原时间7月13日 1.查询所需要的控制日志 bplist -C bw-prd01 -s -- -e -- -k oracle_bw-prd01_0_92_arch - ...