zoukankan      html  css  js  c++  java
  • 2020软件工程作业03

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
    这个作业的要求在哪 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494
    本作业目标 数独代码的实现
    作业正文  
    其他参考文献 搜狗,CSDN

     1.Github项目地址:https://github.com/cckkkkkk/20177678

    2.表格

    PSP2.1

    Personal Software Process Stage预估耗时(小时)实际耗时(小时)
    Planning 计划 3 4
    Estimate 估计这个任务需要多少时间 8 9
    Development 开发 9 9
    Analysis 需求分析(包括学习新技术) 6 7
    Design Spec 生成设计文档 1 3
    Design Review 设计复审(和同事审核设计文档) 2 2
    Coding Standard 代码规范(为目前的开发制定合适的规范) 2 2
    Design 具体设计 2 3
    Coding 具体编码 2 2
    Code Review 代码复审 3 2
    Test 测试(自我测试,修改代码,提交修改) 1 2
    Reporting 报告 1 3
    Test Report 测试报告 2 2
    Size Measurement 计算工程量 2 3
    Postmortem & Process Improvement Plan 事后总结提出过程改进计划 1 2
     

    合计

    45 55

    3.具体思路

    看了一下作业,搜狗了一下,发现找出盘面上已知两个数的两行两列,把这两个交叉点填上遍历所有行,遇见有两格已知点的,就把剩下一格补上,有的行全空的,就跳过遍历所有列,把每一列剩下那格补上就行了。

    4.关键代码

    填上交叉点的函数

    void search()

    {
        int y = 6;
        for (int i = 0; i < 2; i++)
        {
     
            for (int j = 0; j < 3; j++)
            {
                if (b[i] == c[j])
                    y = y - c[j];
            }
        }
        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 2; j++)
            {
                if (a[row[i]][line[j]] == 0)
                {
                    a[row[i]][line[j]] = y;
                }
            }
        }
     
    }

     行遍历函数

    void hang()

    {
        int y = 6;
        for (int i = 0; i < 3; i++)
        {
            int temp = 0;                                 
            for (int j = 0; j < 3; j++)           
            {
                if (a[i][j] != 0)
                    temp++;
            }
            if (temp == 2)                              
            {
                for (int k = 0; k < 3; k++)         
                {
                    if (a[i][k] != 0)
                    {
                        y = y - a[i][k];
                    }
                }
     
                for (int f = 0; f < 3; f++)         
                {
                    if (a[i][f] == 0)
                    {
                        a[i][f] = y;
                    }
     
                }
                y = 6;                                          
     
            }
            else
                continue;
        }
    }
     

    5.测试

     6.改进程序性能

    不怎么会

    7.心历路程也收获

    让我认清了自己,深深感受到没打好基础是什么后果。后面的学习要更加努力,严格执行学习计划。

  • 相关阅读:
    WebView与 JS 交互方式
    ES6常用知识点
    Flash Builder 破解与开发环境配置
    如何修改默认浏览器
    基本数据类型和常用内建对象
    VS 2010 使用技巧
    javascript之事件驱动编程的几个基本概念
    javascript笔记之DHTML基础
    浏览器对象模型
    开发心得记录
  • 原文地址:https://www.cnblogs.com/chenkuan1212/p/12620406.html
Copyright © 2011-2022 走看看