最大连续子数和问题-homework-03
一、说明
这次的作业做的不好,一小点怨念ing·····
首先向TA说明下,我的小伙伴“丢下”我后我不知道,以至于发现剩下我一个的时间有点晚,我机智地找到了一个3个人的小组,又叫到了一个小伙伴,但是悲剧的是他已经开始和那两个人一起做这次的作业了,,从下次开始和我结对,所以这次只能自己做了,从下次作业开始我将和新的小伙伴一起做!
二、程序思路
1、命令行和 GUI
首先,我把判断命令行添加到程序的主入口点,同时在这里判断命令。
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] argv)
{
string path;
int argc = argv.Length;
int vflag = , hflag = , aflag = ;
switch (argc)
{
case :
Console.WriteLine("缺失参数!");
break;
case :
path = argv[];
Console.WriteLine("缺失文件前参数 " + path + " !");
break;
case :
switch (argv[][])
{
case 'v':
vflag = ;
break;
case 'h':
hflag = ;
break;
case 'a':
aflag = ;
break;
default:
Console.WriteLine("错误: " + argv[]);
break;
}
path = argv[];
break;
2、图形界面能同时显示多个数组的运算结果
在这里,我是用程序的[STAThread]线程,只要GUI不关,该线程就不会停止,所以可以出现两个tab任意切换,每次启动程序都会新建一个tab
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1.SuspendLayout();
3、GUI界面布局
考虑到不会用别的空间输出内容,就用了button,使其失去点击的功能,就可以作为输出的背景,以便于出现不同的颜色,控制好button之间的布局,就可以形成类似表格的界面。
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Location = new System.Drawing.Point(, );
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = ;
this.tabControl1.Size = new System.Drawing.Size(, );
this.tabControl1.TabIndex = ;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.button1);
this.tabPage1.Location = new System.Drawing.Point(, );
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding();
this.tabPage1.Size = new System.Drawing.Size(, );
this.tabPage1.TabIndex = ;
this.tabPage1.Text = argv[argv.Length-];
this.tabPage1.UseVisualStyleBackColor = true; for (int i = ; i < row; i++)
{
for (int j = ; j < col; j++)
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
if (a[i][j][] == )
this.button1.BackColor = System.Drawing.Color.Yellow;
else
this.button1.BackColor = System.Drawing.Color.White;
this.button1.Enabled = false;
this.button1.Location = new System.Drawing.Point(+*j, +*i);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(, );
this.button1.TabIndex = ;
this.button1.Text = a[i][j][].ToString();
this.button1.UseVisualStyleBackColor = false;
}
}
引用上次作业的类,在需要的数据上做上标记,最后的时候重新读取一遍数据,遇到标记数时,将背景色改为黄色,同时,每个button的坐标刚好相隔一个button的长宽,就可以把图形连接起来!
最大连续子数和问题-homework-03的更多相关文章
- 剑指Offer面试题:28.连续子数组的最大和
一.题目:连续子数组的最大和 题目:输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n).例如输入的数组为{1,-2,3 ...
- lintcode循环数组之连续子数组求和
v 题目:连续子数组求和 II 给定一个整数循环数组(头尾相接),请找出一个连续的子数组,使得该子数组的和最大.输出答案时,请分别返回第一个数字和最后一个数字的值.如果多个答案,请返回其中任意一个. ...
- 剑指Offer 连续子数组的最大和
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- 剑指offer面试题31连续子数组的最大和
一.题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果 ...
- lintcode :continuous subarray sum 连续子数组之和
题目 连续子数组求和 给定一个整数数组,请找出一个连续子数组,使得该子数组的和最大.输出答案时,请分别返回第一个数字和最后一个数字的值.(如果两个相同的答案,请返回其中任意一个) 样例 给定 [-3, ...
- 最大连续子数组问题2-homework-02
1) 一维数组最大连续子数组 如第homework-01就是一维数组的最大子数组,而当其首位相接时,只需多考虑子数组穿过相接的那个数就行了! 2)二维数组 算法应该和第一次的相似,或者说是将二维转化为 ...
- 编程算法 - 连续子数组的最大和 代码(C)
连续子数组的最大和 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个整型数组, 数组里有正数也有负数. 数组中一个或连续的多个整数组成一 ...
- 【剑指offer】连续子数组的最大和
个開始,到第3个为止).你会不会被他忽悠住? 输入: 输入有多组数据,每组測试数据包括两行. 第一行为一个整数n(0<=n<=100000),当n=0时,输入结束.接下去的一行包括n个整数 ...
- 找一个数组的最大和的连续子数组(时间复杂度 O(n))(二)
要求: 要求数组从文件读取. 如果输入的数组很大, 并且有很多大的数字, 就会产生比较大的结果 (考虑一下数的溢出), 请保证你的程序能正常输出. 另外, 如果输入文件的参数有错误, 这个程序应该 ...
- 找一个数组的最大和的连续子数组(时间复杂度 O(n))
设计思想 一开始的思想是求出全部的情况,再分别比较大小,这种方法适用于有限个数组,不适用于输入数组长度和内容的情况. 但也试着做了 int a[]= {-1,2,6,-10}; int size=4; ...
随机推荐
- DataGridView控件的使用---添加行
最简单的方法 可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行. 假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控 ...
- SVN备份及其还原 — dump/load方法
本文中采用最简单的dump/load方法.备份:一个较大的Subsersion版本库想用最少的空间来将它备份下来,用这个命令(请将/repo替换成你的版本库路径)svnadmin dump --del ...
- IIS大数据请求设置方法
大并发大数据量请求一般会分为几种情况: 1.大量的用户同时对系统的不同功能页面进行查找,更新操作 2.大量的用户同时对系统的同一个页面,同一个表的大数据量进行查询操作 3.大量的用户同时对系统的同一个 ...
- 封装Log工具类
public class LogUtil { public static final int VERBOSE = 1; public static final int DEBUG = 2; publi ...
- poj 1236 Network of Schools
题目描述:有一些学校连接到一个计算机网络.这些学校之间达成了一个协议:每个学校维护着一个学校列表,它向学校列表中的学校发布软件.注意,如果学校B在学校A的列表中,则A不一定在B的列表中.任务A:计算为 ...
- 【转】mac终端安装node时候,显示“-bash: brew: command not found”,怎么解决?
原文网址:https://segmentfault.com/q/1010000004221389/a-1020000004221408 mac终端安装node时候,显示“-bash: brew: co ...
- Oracle 跟踪事件 set event
一.Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动.关闭和运行期间后台进程的活动情况,如表空间创建.回滚段创建.某些alter命令.日志切换.错误消息 ...
- Android Thread.UncaughtExceptionHandler捕获
在Java 的异常处理机制中:如果抛出的是Exception异常的话,必须有try..catch..进行处理,属于checked exception.如果抛出的是RuntimeException异常的 ...
- SQL 2005 日志损坏的恢复方法
SQL 在突然停电或者非正常关机下,可能会出现日期文件错误,导致数据库不正常.恢复数据库方法如下 1.数据库服务停掉 将数据库文件备份 例如数据库名为 DTMS 则将 DTMS.mdf 备份出来. 2 ...
- Android下载速度计算
long startTime = System.currentTimeMillis(); // 开始下载时获取开始时间 long curTime = System.currentTimeMillis( ...