⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_43550.htm

📁 vc
💻 HTM
字号:
<p>
序号:43550 发表者:breeze 发表日期:2003-06-12 09:17:06
<br>主题:这段程序应该怎样运行,才能显示结果啊?
<br>内容:我运行了,却没有结果显示,应该怎样运行,才会有结果?<BR>#include&lt;iostream.h&gt;<BR>#include&lt;time.h&gt;<BR>#include&lt;stdlib.h&gt;<BR><BR>const int defaultsize=50;<BR><BR><BR>template&lt;class T&gt;<BR>class biao<BR>{<BR> private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;T *z;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int size;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int last;<BR>public:<BR>&nbsp;&nbsp;biao(int l=defaultsize);<BR>&nbsp;&nbsp;~biao() {delete[]z;};<BR>&nbsp;&nbsp;int getsize() {return size;};<BR>&nbsp;&nbsp;int getlast() {return last;};<BR>&nbsp;&nbsp;T getnode(int i) {return (i&gt;size||i&lt;0)?NULL:z[i-1];};<BR>&nbsp;&nbsp;exchange();<BR>&nbsp;&nbsp;printbiao();<BR>&nbsp;&nbsp;initial(int);<BR>&nbsp;&nbsp;int find (T l){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i=0;i&lt;last;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (z[i]==l)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return i+1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1;<BR>&nbsp;&nbsp; };<BR>&nbsp;&nbsp; int remove(int);<BR>&nbsp;&nbsp; int insert(int,T &amp;);<BR>};<BR><BR>template&lt;class T&gt;<BR>void intersect(biao&lt;T&gt; &amp; m,biao&lt;T&gt; &amp; n)<BR>{<BR>&nbsp;&nbsp; int x=m.getlast();<BR>&nbsp;&nbsp; int y=n.getlast();<BR>&nbsp;&nbsp; int i=0;<BR>&nbsp;&nbsp; while (i&lt;=x)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T j=m.getnode(i+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int k=n.find(j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (k==-1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m.remove(i+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x--;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i++;<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; for (int j=0;j&lt;m.getlast();j++)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int p=j+1;p&lt;m.getlast();p++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (m.getnode(j+1)==m.getnode(p+1))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.remove(p+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; }<BR>}<BR><BR>template&lt;class T&gt;<BR>void Union(biao&lt;T&gt; &amp; m,biao&lt;T&gt; &amp; n)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int k=n.getlast();<BR>&nbsp;&nbsp;&nbsp;&nbsp;int p=m.getlast();<BR>&nbsp;&nbsp;&nbsp;&nbsp;for (int i=0;i&lt;k-1;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T j=n.getnode(i+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int l=m.find(j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (l==-1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m.insert(++p,j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;for (int j=0;j&lt;m.getlast();j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int p=j+1;p&lt;m.getlast();p++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (m.getnode(j+1)==m.getnode(p+1))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m.remove(p+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR>template&lt;class T&gt;<BR>int biao&lt;T&gt;::insert(int l,T &amp; t)<BR>{<BR>&nbsp;&nbsp; if (last==size)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"overflow\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp; else if (l&lt;0||l&gt;last+1)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;"position error\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i=last-1;i&gt;=l-1;i--)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z[i+1]=z[i];<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; last++;<BR>&nbsp;&nbsp; z[l-1]=t;<BR>&nbsp;&nbsp; return 1;<BR>}<BR><BR>template&lt;class T&gt;<BR>int biao&lt;T&gt;::remove(int l)<BR>{<BR>&nbsp;&nbsp; if (last==size)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"overflow\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp; else if (l&lt;0||l&gt;last+1)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;"position error\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; else<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; for (int i=l-1;i&lt;last-1;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z[i]=z[i+1];<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; last--;<BR>&nbsp;&nbsp;&nbsp;&nbsp; return 1;<BR>&nbsp;&nbsp; }<BR>}<BR><BR>template&lt;class T&gt; <BR>biao&lt;T&gt;::biao(int l)<BR>{<BR>&nbsp;&nbsp; if (l&gt;0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z=new T[size];<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"invalid Array size\n";<BR>}<BR><BR>template&lt;class T&gt;<BR>biao&lt;T&gt;::exchange()<BR>{<BR>&nbsp;&nbsp; T l;<BR>&nbsp;&nbsp; for(int i=0;i&lt;=last;i++)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; int j=last-1-i;<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (i&lt;j)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l=z[i];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z[i]=z[j];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z[j]=l;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp; }<BR>}<BR><BR>template&lt;class T&gt;<BR>biao&lt;T&gt;::printbiao()<BR>{<BR>&nbsp;&nbsp; cout&lt;&lt;endl;<BR>&nbsp;&nbsp; for (int i=0;i&lt;last;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;z[i]&lt;&lt;" ";<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp; cout&lt;&lt;endl;<BR>}<BR><BR>template&lt;class T&gt;<BR>biao&lt;T&gt;::initial(int l)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (l&lt;=size)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i=0;i&lt;l;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z[i]=rand()%20+1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; last=l;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;srand(time(NULL));<BR>&nbsp;&nbsp;&nbsp;&nbsp;biao&lt;int&gt; a(20),b(20);<BR>&nbsp;&nbsp;&nbsp;&nbsp;a.initial(6);<BR>&nbsp;&nbsp;&nbsp;&nbsp;a.printbiao();<BR>&nbsp;&nbsp;&nbsp;&nbsp;b.initial(8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;b.printbiao();<BR>&nbsp;&nbsp;&nbsp;&nbsp;Union(a,b);<BR>&nbsp;&nbsp;&nbsp;&nbsp;a.printbiao();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;a.initial(6);<BR>&nbsp;&nbsp;&nbsp;&nbsp;a.printbiao();<BR>&nbsp;&nbsp;&nbsp;&nbsp;b.initial(8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;b.printbiao();<BR>&nbsp;&nbsp;&nbsp;&nbsp;intersect(a,b);<BR>&nbsp;&nbsp;&nbsp;&nbsp;a.printbiao();<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:XiaoQi 回复日期:2003-06-12 21:52:25
<br>内容:这么长,并且编程风格又不好!<BR><BR>给你顶一下,看那位耐心的人会来看一下!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:天才 回复日期:2003-06-13 09:46:01
<br>内容:请注意size=l那一行,应该是l而不是1<BR>template&lt;class T&gt; <BR>biao&lt;T&gt;::biao(int l)<BR>{<BR>&nbsp;&nbsp;if (l&gt;0)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; size=l;//here<BR>&nbsp;&nbsp;&nbsp;&nbsp; last=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp; z=new T[size];<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;"invalid Array size\n";<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:刘易 回复日期:2003-06-13 21:39:43
<br>内容:天才,你太细心拉!<BR><BR>这样都被你看出来!开始我也查不到原因啊!<BR><BR>我太感激了 ,希望大家互相帮助,共同进步!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -