ImageVerifierCode 换一换
格式:DOC , 页数:70 ,大小:511.02KB ,
资源ID:6334606      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6334606.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一元稀疏多项式简单计算器.doc)为本站会员(myw993772)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

一元稀疏多项式简单计算器.doc

1、1浏水浮芸 QQ632069015数据结构课程设计报告一元稀疏多项式计算器、迷宫问题、成绩分析问题、图的基本操作与实现以及背包问题的求解学院(系): 计算机 班 级: 软件工程 4 班 学生姓名: 江志伟 学号 10803080409 指导教师: 时间: 从 2010 年 01 月 11 日到 2010 年 01 月 15 日2一、课程设计概述:本次数据结构课程设计共完成五个题:一元稀疏多项式计算器、迷宫问题、成绩分析问题、图的基本操作与实现以及背包问题的求解使用语言:C编译环境:TC3.0二、课程设计题目一实验内容一元稀疏多项式计算器问题描述设计一个一元稀疏多项式简单计算器。基本要求一元稀疏

2、多项式简单计算器的基本功能是:(1) 输入并建立多项式;(2) 输出多项式,输出形式为整数序列:n,c 1,e1, c2,e2, cn,en,其中 n 是多项式的项数,ci,ei,分别是第 i 项的系数和指数,序列按指数降序排序;(3) 多项式 a 和 b 相加,建立多项式 a+b;(4) 多项式 a 和 b 相减,建立多项式 a-b;(5) 计算多项式在 x 处的值。(6) 计算器的仿真界面。 (选做)概要设计-=ADT=-Test1:主类,程序的启动 Item :项,表示多项式中的某一项Ploynomial:多项式类 存储结构Item 属性:private double c;/系数priv

3、ate int e;/指数Item 方法:public void setC(double c)/设置系数public void setE(int e) /设置指数public double getC()/获取系数3public int getE()/获取指数public double resultItem(double x)/在 x 处 Item 的值private double fac(double x,int e)/求 x 的 e 次方,当 e 为整数时Polynomial 属性:private LinList list;/单链表Polynomial 方法:public Polynomia

4、l()public Polynomial(Item item)throws Exception /构造函数 private void initItem(Item item)/初始化 Item 数组,使其是按降序排序 public int getItemNum()/获取项数 public void print()throws Exception/打印多项式 不空行public void println()throws Exception/打印多项式 空行public LinList getLinList()/获取单链表4public void printPolynomial()throws Ex

5、ception/只打印项数、系数和指数public Polynomial add(Polynomial other)throws Exception/多项式相加public Polynomial subtraction(Polynomial other)throws Exception/多项式相减public double result(double x)throws Exception 详细设计Item 类:public class Item private double c;/系数private int e;/指数public Item()public Item(double c,int

6、e)this.c=c;this.e=e;public void setC(double c)this.c=c;5public void setE(int e)this.e=e;public double getC()return c;public int getE()return e;public double resultItem(double x)return getC()*fac(x,getE();private double fac(double x,int e)/求 x 的 e 次方,当 e 为整数时if(e=0) return 1;return x*fac(x,e-1); Poly

7、nomial 类:import java.util.*;public class Polynomial/多项式类private LinList list;/单链表public Polynomial()list=new LinList(0,null);public Polynomial(Item item)throws Exception /构造函数int n=item.length;list=new LinList(n,null);if(n=0) return;6initItem(item); tryfor(int i=0;iitemmax.getE() max=j;if(max!=i)Ite

8、m temp=itemi;itemi=itemmax;itemmax=temp;public int getItemNum()/获取项数 Object temp=list.head.getElement();int n=-1;if(temp instanceof Integer)Integer i=(Integer)temp;n=i.intValue();return n;public void print()throws Exception/打印多项式 不空行int n=getItemNum();/ System.out.println(n);if(n=-1) return ;if(n=0)

9、7System.out.print(“0“);return;boolean flag=true;/是不是输出第一项的标志for(int i=0;i0)System.out.print(“+“+c+“x“+temp.getE(); else if(c=0 /向右 即西if(r-1=0 /向上 即北22return null;/连通不到下一个路口public InterSection getNext(InterSection p1,InterSection p2)/按顺时针获取的int r1=p1.row;int c1=p1.col;int r2=p2.row;int c2=p2.col;if(r

10、2=0 if(r2-1=0 if(r2=r1 if(c2-1=0 if(r2r1 if(r2-2=0 if(r2-1=0 23if( c2+2col if( r2+1row return null;public boolean depthSearch(InterSection point)throws Exception/递归int r=point.row;int c=point.col;/ System.out.print(“(“+point.row+“,“+point.col+“) “);if(r=exit.row return true;visitedrc=true;InterSecti

11、on temp=getFirstNeighbor(point);while(temp!=null) if(!visitedtemp.rowtemp.col)if(depthSearch(temp)System.out.print(“(“+point.row+“,“+point.col+“) “);return true;temp=getNext(point,temp);return false;public String answer(InterSection p)throws Exception/非递归 通过堆栈来实现SeqStack stack=new SeqStack(50);Strin

12、g s1=“;String s2=“;visitedp.rowp.col=true;stack.push(p);while(stack.notEmpty()24InterSection temp=(InterSection)stack.pop();visitedtemp.rowtemp.col=true;s1+=“(“+temp.row+“,“+temp.col+“) “;if(temp.row=exit.row s2=s1;InterSection u=getFirstNeighbor(temp);while(u!=null visitedu.rowu.col=true;if(u.row=e

13、xit.row stack.push(u);u=getNext(temp,u);return “没有通路“;public void printMaze()/打印迷宫for(int i=1;i10;i+)for(int j=1;j9;j+)System.out.print(pointij.w+“ “);System.out.println();/*/public class InterSection/路口类/行列指定路口的位置int row;/行下标int col;/列下标int w;/0 和 1 分别表示迷宫中的通路和障碍public InterSection(int r,int c,int

14、w1)25row=r;col=c;w=w1;运行结果及分析1. 初始界面及结果:四、课程设计题目三成绩分析问题问题描述录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。基本要求(1)通过键盘输入各学生的多门课程的成绩,建立相应的文件 input.dat。(2)对文件 input.dat 中的数据进行处理,要求具有如下功能:1) 按各门课程成绩排序,并生成相应的文件输出。2) 计算每人的平均成绩,按平均成绩排序,并生成文件。3) 求出各门课程的平均成绩、最高分、最低分、不及格人数、6069 分人数、7079分人数、8089 分人数、90 分以上人数。4) 根据姓名或学号查询某人的各门课成绩

15、,重名情况也能处理。(3)界面美观。26概要设计Student 类:public class Student String number;String name;int math;int english;int computer;public Student(String num,String n,int m,int e,int c)number=num;name=n;math=m;english=e;computer=c;public Student()name=“;number=“;math=0;english=0;computer=0;public int getSum()return

16、math+english+computer;public double getAverage()double d=getSum()/3.0;d=(int)(d*100)*0.01;return d;Test5 类:import javax.swing.*;27import javax.swing.JScrollPane;import java.awt.event.*;import java.awt.*;import java.awt.Color;import java.util.*;import java.io.*;public class Test5 extends JFrame imple

17、ments ActionListener,MouseListener/组件private JTable table;private JScrollBar scrollBar;private JToolBar toolBar;private JTextField textField;private JButton button; private JScrollPane scrollPane; private JMenuBar menuBar; private JMenu file;private JMenu sort;private JMenuItem add;private JMenuItem

18、 remove;private JMenuItem file1;private JMenuItem file2;private JMenuItem file3;private JMenuItem sort1;private JMenuItem sort2;private JMenuItem sort3;private JMenuItem sort4;private JMenuItem sort5;private JPopupMenu pop;private JMenuItem cancel;/其它属性private ArrayList arrayList;private Student stu

19、dent;/数学private int mathNoPass=0;/不及格人数private int countMath1=0;/60 到 69 人数28private int countMath2=0;/70 到 79 人数private int countMath3=0;/80 到 90 人数private int countMath4=0;/90 以上人数/英语private int engNoPass=0;/不及格人数private int countEnglish1=0;/60 到 69 人数private int countEnglish2=0;/70 到 79 人数private

20、 int countEnglish3=0;/80 到 90 人数private int countEnglish4=0;/90 以上人数/计算机 private int comNoPass=0;/不及格人数private int countComputer1=0;/60 到 69 人数private int countComputer2=0;/70 到 79 人数private int countComputer3=0;/80 到 90 人数private int countComputer4=0;/90 以上人数private boolean flag=false;/标志量public Te

21、st5()private void updateTabel()/更新表格private void initFile()/初始化文件 即给文件赋值private void readFile() /读文件/排序public void sortSum()/按总成绩public void sortMath()/按数学29public void sortEnglish()/按英语public void sortComputer()/按计算机/文件的其他操作public int getMaxMath()/数学的最大值public int getMaxEnglish()/英语的最大值public int g

22、etMaxComputer()/计算机的最大值public double getMathAverage()/获得数学的平均成绩public double getEnglishAverage()/获得英语的平均成绩public double getComputerAverage()/获得计算机的平均成绩public int getMinMath()/数学的最小值;public int getMinEnglish()/英语的最小值public int getMinComputer()/计算机的最小值private void getNumber()/求各段的人数30/查找public void fi

23、nd()/删除public void delete()/增加public void add()public void actionPerformed(ActionEvent ae)public void mouseReleased(MouseEvent e)public void mouseClicked(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void mousePressed(MouseEvent e)public static void main(String args)new Test5();详细设计Student 类:public class Student String number;String name;int math;int english;int computer;public Student(String num,String n,int m,int e,int c)number=num;name=n;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报