三元表的相加 实在不知如何改了= =

问题描述

如题觉得逻辑有点奇怪但不知道是哪里出错求大神指点!!!importjava.util.Scanner;classTrituple{publicintrow;publicintcol;publicintvalue;publicTrituple(intr,intc,intv){row=r;col=c;value=v;}}publicclassJuzhen{/***@paramargs*/introw;intcol;intsize;publicTrituplearr[];publicJuzhen(intMRow,intMCol,intMSize){row=MRow;col=MCol;size=MSize;arr=newTrituple[size];intr=0;intc=0;intv=0;for(inti=0;i<size;i++){System.out.println("非零值的行号");Scannerrr=newScanner(System.in);r=rr.nextInt();System.out.println("非零值的列号");Scannercc=newScanner(System.in);c=cc.nextInt();System.out.println("非零值为:");Scannervv=newScanner(System.in);v=vv.nextInt();Trituplet=newTrituple(r,c,v);arr[i]=t;}}publicvoidshow(){inti,j,k;System.out.println("该稀疏矩阵为:");for(i=0;i<row;i++){for(j=0;j<col;j++){for(k=0;k<size;k++)if(i==arr[k].row&&j==arr[k].col){System.out.print(arr[k].value+"");break;}if(k==size)System.out.print(0+"");}System.out.println();}}publicstaticvoidplus(Juzhens1,Juzhens2,Juzhens3){s3=newJuzhen(s1.row,s1.col,0);s3.size=0;inta,b,e,k;a=b=e=0;for(k=1;k<=s1.row;k++){while(s1.arr[a].row==k&&s2.arr[b].row==k){//两结点属于同一行if(s1.arr[a].col<s2.arr[b].col){//A中下标a的结点小于B中下标为b的结点的列数s3.arr[e].value=s1.arr[a].value;s3.arr[e].row=s1.arr[a].row;s3.arr[e].col=s1.arr[a].col;++e;a++;}elseif(s1.arr[a].col==s2.arr[b].col){//两结点属于同一列inttemp=s1.arr[a].value+s2.arr[b].value;//两结点数值相加不等于0s3.arr[e].value=s1.arr[a].value+s2.arr[b].value;s3.arr[e].row=s1.arr[a].row;s3.arr[e].col=s1.arr[a].col;e++;a++;b++;}else{//A中下标a的结点大于B中下标为b的结点的列数s3.arr[e].value=s2.arr[b].value;s3.arr[e].row=s2.arr[b].row;s3.arr[e].col=s2.arr[b].col;e++;b++;}}while(s1.arr[a].row==k){//只有A中剩下行数为k的未处理结点s3.arr[e].value=s1.arr[a].value;s3.arr[e].row=s1.arr[a].row;s3.arr[e].col=s1.arr[a].col;e++;a++;}while(s2.arr[b].row==k){//只有B中剩下行数为k的未处理结点s3.arr[e].value=s2.arr[b].value;s3.arr[e].row=s2.arr[b].row;s3.arr[e].col=s2.arr[b].col;e++;b++;}}s3.size=e;s3.show();}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSystem.out.println("请输入三元组的行数:");Scannerrr=newScanner(System.in);intr=rr.nextInt();System.out.println("请输入三元组的列数:");Scannercc=newScanner(System.in);intc=cc.nextInt();System.out.println("请输入非零值的个数:");Scannervv=newScanner(System.in);intv=vv.nextInt();Juzhens1=newJuzhen(r,c,v);s1.show();///////////////////////////////////////////////System.out.println("请输入三元组的行数:");Scannerrr2=newScanner(System.in);intr2=rr2.nextInt();System.out.println("请输入三元组的列数:");Scannercc2=newScanner(System.in);intc2=cc2.nextInt();System.out.println("请输入非零值的个数:");Scannervv2=newScanner(System.in);intv2=vv2.nextInt();Juzhens2=newJuzhen(r2,c2,v2);s2.show();Juzhens3=newJuzhen(r2,c2,0);plus(s1,s2,s3);}}

解决方案

本帖最后由 u011055823 于 2013-12-10 13:10:46 编辑

时间: 2024-09-11 18:58:47

三元表的相加 实在不知如何改了= =的相关文章

java 稀疏矩阵的中三元表的相加 头痛好多天了= =

问题描述 这是数据结构的一个题目构建稀疏矩阵将非零数值的信息存往三元组中去并将两个矩阵相加得出一个新矩阵importjava.util.Scanner;classTrituple{publicintrow;publicintcol;publicintvalue;publicTrituple(intr,intc,intv){row=r;col=c;value=v;}}publicclassJuzhen{/***@paramargs*/introw;intcol;intsize;publicTrit

编码-php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了!

问题描述 php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了! php中编码为:header('content-type:text/html;charset=gbk');php中加了此句:mysqli_query($dbcset names 'gbk'"");php脚本编码格式为:ANSI数据库链接校对为:gbk_general_cimysql字符集:utf8我用此句:set names 'gbk' 将其改为'gbk' 解决方案 把PHP

c程序问题 函数调用-冒泡排序c程序,vc6.0编译提示有一个错误一个警告,但不知为什么错,也不知怎么改

问题描述 冒泡排序c程序,vc6.0编译提示有一个错误一个警告,但不知为什么错,也不知怎么改 程序如下: #include #define TRUE 1 #define FALSE 0 void main() { int i; int a[10]; printf("please input 10 numbers:n"); for(i=0;i { scanf("%d",a[i]); } bubble(a[10],10); for(i=0;i printf("

《泡沫之夏》被指不青春三主角年龄相加过百岁

何润东的角色获得好评.三人"装嫩"?黄晓明何润东剧中"争女"轰轰烈烈. 近日,由何润东.黄晓明.大S主演的偶像剧<泡沫之夏>正在湖南卫视热播,并迅速成为网络热点话题.由于该剧改编自同名人气小说,所以电视剧播出后是否尊重原著的问题成为 网友热议的对象.而且,原著中十来岁的男女主角由三位 年龄"加起来超过100岁"的明星出演,也引起网友们的诸多不满. 媒体对<泡沫之夏>的注意力则集中在两位戏内"争女"戏外&

学Linq to sql(三):增、删、改

示例数据库 字段名 字段类型 允许空 字段说明 ID uniqueidentifier   表主键字段 UserName varchar(50)   留言用户名 PostTime datetime   留言时间 Message varchar(400) √ 留言内容 IsReplied bit   留言是否回复 Reply varchar(400) √ 留言管理员回复 在数据库中创建一个名为GuestBook的数据库,在里面创建一个tbGuestBook的表,结构如上表. 生成实体类 右键点击网

求助:FreeTetBox添加中文字体时,出错!

问题描述 求助:FreeTetBox添加中文字体时,出错!我在网上找的代码:Toolbartoolbar1=FreeTextBox1.Toolbars[0];//此处的0表示第一个toolbar.FontFacesMenufontmenu=(FontFacesMenu)toolbar1.Items[1];//freetextbox中加载字体的类为FontFacesMenu,这是FontFacesMenu在toolar中的索引.InstalledFontCollectioninstalledFon

c++-求大神帮忙改一下,改了好多次了

问题描述 求大神帮忙改一下,改了好多次了 改了两天了,还是没改好,不知怎么改才好,错的地方有注释 #include #include #include using namespace std; #define PI 3.1415 class Shape { public: virtual double area()=0; virtual double volume()=0;//11 18 C:UsersAdministratorDesktop未.cpp [Note] virtual double

谢文:从三个角度谈未来三五年的互联网业

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 有朋友希望我写篇文章,预测下未来十年互联网业的发展,我没敢答应.网络业是个高速发展,急剧变动的新兴高科技产业,以我的能力,说说三五年后产业的大趋势是可以的,以往的记录证明预测三五年的情况大致比较准确,再长的时间就是胡猜了.所谓互联网业,可以谈全世界范围的事情,也可以谈中国一家的事情.前者比较好谈,因为相对单纯,只要抓住几个主要公司和几条主要脉络就可以说清楚.中国的事情就比较难谈了,因为网络业自身一片混沌,产业发展在很大程度上与国家的发展捆绑

多屏复杂动画CSS技巧三则

  当下CSS3应用已经相当广泛,其中重要成员之一就是CSS3动画.并且,随着CSS动画的逐渐深入与普及,更复杂与细腻的动画场景也如雨后春笋般破土而出.   例如上个月做的「企业QQ-新年祝福」活动:   虽然视频内容是手机上的显示效果,但是,这个"企业新年祝福活动"原本只针对桌面端,移动端是后来辅助增强(增加了相当于活动页面UV 5.7%的点击).而目前大多数类似页面只针对移动端,例如其他同事实现的QQ空间5.0预约页第二版: 扫码(需登录)或者链接二选一: 因此,需要多一点适配的技