关于数组以及c#学习问题

第二次作业我没注意看群通告,看到都3月8号,开始着手想用c#试着写写,才发现一些问题。

a.鞠老的要求中必须原数据需要csv文件,csv文件不是太了解,网上简单查阅了一下------csv意思是逗号分隔值,CSV文件是个纯文本文件,每一行表示一张图片的许多属性。你在收一套图集时,只要能找到它的CSV文件,用专用的软件校验后。我感觉和ASCII码形式比较像,都是录入然后约定一个规范,编写统一编号。是不是这样?然后在产生伪随机数方面又有问题了

开始我就觉得就直接用rand函数些出来就行了

b.通过观察,产生了多个相同的数据,题目虽然没有要求,如果我们要求产生不相同的数呢?  我为了简便,想如果控住产生伪随机数的范围,由上个数据单元控制,不是就可以产出不同的伪随机数呢?

但是如你所见,这样产生的数据不会重复,但是违反了产生伪随机的原则,于是我又矛盾了。想用条件判断语句,又觉得写得太长,有没有其他的方法,想听听。

后面就是生成的csv文件的导入问题,导入过来是字符,而并不是代表数值,就剩下转换问题和导入问题,我没有c#书,才去图书馆借,大概看了下,应该5天左右能掌握大概的语法吧。他的导入和转换的类库暂时不太了解。

抛开这个c#语法问题,就第一个问题

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

直接一个for循环就可以算出来吧,应该没什么难度。

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

这个算法就只需要强调判断素组的起始位置和length的就可以了,只要不产生溢出,一个循环体也可以解决

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

这个题目感觉和上面问题就多了个指定范围内元素相加,添加一个条件判断语句,应该问题不大。如果把问题改成sum输出的范围就有趣了

如果用两个值相加,设置两个循环体就可以了。

for(int i=0;i<array.length;i++)
{
for(int j=0;j<array.length;j++)
{
if(arry[i]+arry[j]==“预期值”)
{
 //
}
}

},

可以写出对应的元素,如果是三个就可以设置三个循环体,但是这样的效率不高,想了一下学过的其他高点效率的算法。    然后将这些用个switch语句写出个相加范围,然后case出2个数相加和3个数,,,,,

然后呢可以进行要求的扩展,这个是不是老师锻炼我们的软件开发生成思想。

具体代码还在思考中ing,觉得用c++学过的语言写有点low,想试着用c#写     估计3月14能基本把想的一些问题解决,然后出具体代码。   希望老师能谅解晚交的作业

时间: 2024-12-26 00:13:13

关于数组以及c#学习问题的相关文章

数组与指针学习笔记

1.数组初始化说明 (1).在函数体外定义的内置数组,其元素均被初始化为0: (2).在函数体内定义的内置数组,其元素无初始化: (3).类类型的数组自动调用默认构造函数进行初始化,如果无默认构造函数,则必须为该素族元素提供显示初始化. 2.指针的定义 double *p_dbData1, p_dbData2; p_dbData1为指向double类型的指针,p_dbData2为类型为double的对象,若两个变量都定义为double指针,则如下所示: double *p_dbData1,  *

JavaScript ES6 数组新方法 学习随笔

JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var includes = arr.includes(2) map方法 map 遍历处理返回新数组 原数组不会改变 var map = arr.map(function (item) { return ++item }) reduce方法 reduce 遍历处理数组返回结果 prev与next中间的符号以

Java数组合并方法学习。

参考博客: https://blog.csdn.net/liu_005/article/details/72760392 https://blog.csdn.net/jaycee110905/article/details/9179227 在做一道算法题的时候用到数组合并,并且有性能要求,这里对Java数组合并进行学习总结. 分析可以得出,因为数组是定长的,所以解决方法,构造一个新数组,将需要合并的数组放到新数组里面. 使用Arrays.copyOf来构造一个合并之后长度的数组,并将其中一个数组

数组的初步学习

一.本周学习重点 1.数组 二.学习的重点内容 (一)一维数组 1.一维数组的定义和引用: 定义一个数组,需要明确数组变量名,数组元素的类型和数组的大小(即数组中元素的数量) 2.一维数组的定义式的一般形式为: 类型名     数组名    [数组长度] 类型名指定数组中每个元素的类型:数组名是数组变量的名称,是一个合法的标识符:数组长度是一个整型常量表达式,设定数组的大小. 3.一维数组的初始化 一般形式为:类型名   数组名    [数组长度] =   {初赋值} 初值表中依次放着数组元素的

(转)java二维数组的深度学习(静态与动态)

转自:http://developer.51cto.com/art/200906/128274.htm,谢谢 初始化: 1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行:2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值:3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化.实例: TestD.java(动态): 程序代码: public class TestD { public static void m

自定义属性,匹配数组内容——JS学习笔记2015-5-26(第39天)

使用自定义属性匹配数组内容 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>匹配数组内容</title> 5 <meta charset="utf-8"> 6 <script> 7 window.onload = function(){ 8 var aBtn=document.getElementsByTagName('input'); 9 var arr =

2015/4/9 数据转换 数组 枚举 /C#学习笔记

using System;class StudentHomeWork{    public enum Friends    { 老大, 老二, 老三, 老四, 老五, 老六 };    public static void Main()    {        Friends f1 = Friends.老大;        Friends f2 = Friends.老二;        Friends f3 = Friends.老三;        Friends f4 = Friends.老四

数组与面向对象学习总结!

一,1) 数组:可以存储同一种类型元素的一个容器2)数组定义两种方式:数据类型[] 数组名称 ;数据类型 数组名称[] ;(很少用到) 例如:int[] a; 定义了一个int类型的数组变量a int a[] ; 定义了一个int类型 变量a数组 3)数组的初始化:动态初始化:给定数组长度,它数组元素值由系统默认给定数据类型[] 数组名称 = new 数据类型[长度]; 例如:int[] arr = new int[3] ; 左边: int[] :定义的是一个int类型的数组 arr : 数组名

数组和函数学习。通过函数的形式,对事物的属性和行为进行描述。

<script type="text/javascript"> /* //对象的用法二. 对象的自定义 function Person(name,age) { this.name = name; this.age = age; } var p = new Person("lisi",20); p.getName = function() { return p.name; } //alert(p["name"]+"...&qu