<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8056327108722367722</id><updated>2024-12-19T05:26:28.083+02:00</updated><category term="C++ clases"/><category term="C++"/><category term="physics"/><title type='text'>egy science</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Zezo+</name><uri>http://www.blogger.com/profile/10154341250292829875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-9016807592343795727</id><published>2012-11-25T19:01:00.003+02:00</published><updated>2013-02-12T14:23:13.072+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++ exercise 3</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include &amp;lt;iostream.H&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for(int x=0;x&amp;lt;=100;x++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;if (x%5!=0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;x&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/9016807592343795727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-exercise-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/9016807592343795727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/9016807592343795727'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-exercise-3.html' title='C++ exercise 3'/><author><name>zezo</name><uri>http://www.blogger.com/profile/08650839021373701304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-8518301638659994379</id><published>2012-11-23T18:19:00.001+02:00</published><updated>2013-02-12T14:22:54.618+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: Shifting  array</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;//This C++ program makes shift to all array members.&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include&amp;lt;iostream.h&amp;gt;&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;span style=&quot;color: lime;&quot;&gt; &lt;span style=&quot;color: #38761d;&quot;&gt;// included to use exit(0)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int a[10];int x,y;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;Enter 10 numbers\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(int i=0;i&amp;lt;10;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;No.&quot;&amp;lt;&amp;lt;i&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;a[i]=x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;\n[&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int k=0;k&amp;lt;10;k++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;a[k]&amp;lt;&amp;lt;&quot;&amp;nbsp; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;]&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;\n Press 1 to shift right.\n Press 2 to shift left.\n press 0 to exit.\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;y;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(y==1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(int j=9;j&amp;gt;0;j--)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a[j]=a[j-1];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0; &lt;span style=&quot;color: #38761d;&quot;&gt;//empty&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;\n[&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(int r=0;r&amp;lt;10;r++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;a[r]&amp;lt;&amp;lt;&quot;&amp;nbsp; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;]&quot;&amp;lt;&amp;lt;endl;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else if (y==2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(int j=0;j&amp;lt;9;j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a[j]=a[j+1];&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a[9]=0; &lt;span style=&quot;color: #38761d;&quot;&gt;//empty&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;\n[&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(int r=0;r&amp;lt;10;r++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;a[r]&amp;lt;&amp;lt;&quot;&amp;nbsp; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;]&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else if (y==0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; exit(0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Go To HeLL&quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
};&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/8518301638659994379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-shifting-array.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/8518301638659994379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/8518301638659994379'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-shifting-array.html' title='C++: Shifting  array'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-8526986720564727085</id><published>2012-11-22T06:20:00.001+02:00</published><updated>2013-02-12T14:22:40.700+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++ exercise 2</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
write a program that calculate (minimum, maximum and average) of 10 entered numbers&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&lt;span style=&quot;color: cyan;&quot;&gt;______________________________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include&amp;lt;iostream.h&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int a[10],sum=0,max,min;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; float avg;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Enter the 10 numbers: &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i=0;i&amp;lt;10;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;a[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;10;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum=a[i]+sum;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; avg= (float) sum/10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
max=a[0];&lt;br /&gt;
min=a[0];&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;The average = &quot;&amp;lt;&amp;lt;avg&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;9;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;9;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(a[i]&amp;gt;max)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; max=a[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;9;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;9;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(a[i]&amp;lt;min)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; min=a[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;The max = &quot;&amp;lt;&amp;lt;max&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;The min = &quot;&amp;lt;&amp;lt;min&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/8526986720564727085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-exercise-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/8526986720564727085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/8526986720564727085'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-exercise-2.html' title='C++ exercise 2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-2320049096262641166</id><published>2012-11-22T05:54:00.002+02:00</published><updated>2012-11-22T06:18:57.138+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++ exercise 1</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;h5 class=&quot;uiStreamMessage userContentWrapper&quot; data-ft=&quot;{&amp;quot;type&amp;quot;:1,&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
Write a program that display a menu as following:&lt;br /&gt;&lt;span class=&quot;messageBody&quot; data-ft=&quot;{&amp;quot;type&amp;quot;:3}&quot;&gt;&lt;span class=&quot;userContent&quot;&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;br /&gt;&lt;div class=&quot;text_exposed_show&quot;&gt;
Press 1: to let user enter 2 numbers and print their &lt;br /&gt;
multiplication value&lt;br /&gt;
Press 2: to let user enter a range of 2 numbers and the program&lt;br /&gt;
will calculate the summation of all numbers in this Range.&lt;br /&gt;
Press 3: to let user enter many numbers until a negative value&lt;br /&gt;
entered then the program print the Maximum and Minimum&lt;br /&gt;
value entered.&lt;br /&gt;
Press 0: to Exit program.&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h5&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;span class=&quot;messageBody&quot; data-ft=&quot;{&amp;quot;type&amp;quot;:3}&quot;&gt;&lt;span class=&quot;userContent&quot;&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;text_exposed_show&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________________________________ &lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
&lt;span class=&quot;messageBody&quot; data-ft=&quot;{&amp;quot;type&amp;quot;:3}&quot;&gt;&lt;span class=&quot;userContent&quot;&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h5 class=&quot;uiStreamMessage userContentWrapper&quot; data-ft=&quot;{&amp;quot;type&amp;quot;:1,&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;messageBody&quot; data-ft=&quot;{&amp;quot;type&amp;quot;:3}&quot;&gt;&lt;span class=&quot;userContent&quot;&gt;&lt;span dir=&quot;rtl&quot;&gt;&lt;div class=&quot;text_exposed_show&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;text_exposed_show&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include&amp;lt;iostream.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt; // included to use exit(0)&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int x,y,z,c,t;t=0;z=0;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot; 2Press 1: to enter 2 numbers and get their multiplication.\n &quot; ;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Press 2: to enter range of 2 numbers and get summation of this range.\n &quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Press 3: to enter many numbers value and get thier Maximum and Minimum. \n &quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Press 0: to Exit program. \n &quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;x;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(x==1)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Enter two No.\n2&quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;y;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;z;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c=y*z;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;c;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (x==2)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Enter two numbers\n&quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;y&amp;gt;&amp;gt;z;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(y&amp;lt;z)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(y;y&amp;lt;=z;y++)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t=y+t;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(y;y&amp;gt;=z;y--)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t=y+t;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;t;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(x==3)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;y;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c=y;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(y&amp;gt;0)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(y&amp;gt;z)&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; z=y;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(y&amp;lt;c)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c=y;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin&amp;gt;&amp;gt;y;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;z&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;c;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(x==0)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(0);&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Go To Hell :D\n&quot;;&lt;br /&gt;
&lt;br /&gt;
return 0;&lt;br /&gt;
&lt;br /&gt;
}&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h5&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/2320049096262641166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-exercise.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2320049096262641166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2320049096262641166'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-exercise.html' title='C++ exercise 1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-7205901347426627078</id><published>2012-11-21T00:15:00.003+02:00</published><updated>2012-11-21T00:15:44.552+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: power calculating  (function(</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;mtl fbDocument&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include&amp;lt;iostream.h&amp;gt;&lt;br /&gt;
int power(int x,int y)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int k=x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;if(y==0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(int i=1;i&amp;lt;y;++i)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;x=x*k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return x;&lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int a,b,c;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;enter the number:&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;a;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;enter the power:&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;b;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;c=power(a,b);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;the result is:&quot;&amp;lt;&amp;lt;c&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/7205901347426627078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-power-calculating-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/7205901347426627078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/7205901347426627078'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-power-calculating-function.html' title='C++: power calculating  (function('/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-1348855239766210704</id><published>2012-11-20T09:48:00.002+02:00</published><updated>2012-11-20T09:48:28.329+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: calculate power (function(</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;mtl fbDocument&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include&amp;lt;iostream.h&amp;gt;&lt;br /&gt;

int power(int x,int y)&lt;br /&gt;

{&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;int k=x;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;if(y==0)&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return 1;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(int i=1;i&amp;lt;y;++i)&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;x=x*k;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return x;&lt;br /&gt;

}&lt;br /&gt;

int main()&lt;br /&gt;

{&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;int a,b,c;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;enter the number:&quot;;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;a;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;enter the power:&quot;;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;b;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;c=power(a,b);&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;the result is:&quot;&amp;lt;&amp;lt;c&amp;lt;&amp;lt;endl;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;

}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/1348855239766210704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-calculate-power-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1348855239766210704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1348855239766210704'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-calculate-power-function.html' title='C++: calculate power (function('/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-5253517859134764671</id><published>2012-11-20T09:44:00.000+02:00</published><updated>2012-11-20T09:44:13.189+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: Greatest Common Divisor &quot;GCD&quot; (function)</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include &amp;lt;iostream.h&amp;gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
int GCD(int a, int b)&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
{&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while( 1 )&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = a % b;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if( a == 0 )&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return b;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;b = b % a;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( b == 0 )&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return a;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
}&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
int main()&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
{&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int x, y;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;This program allows calculating the GCD\n&quot;;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Value 1: &quot;;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin &amp;gt;&amp;gt; x;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Value 2: &quot;;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin &amp;gt;&amp;gt; y;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;\nThe Greatest Common Divisor of &quot;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &quot; and &quot; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; &quot; is &quot; &amp;lt;&amp;lt; GCD(x, y) &amp;lt;&amp;lt; endl; &amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/5253517859134764671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-greatest-common-divisor-gcd-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/5253517859134764671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/5253517859134764671'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-greatest-common-divisor-gcd-function.html' title='C++: Greatest Common Divisor &quot;GCD&quot; (function)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-1268861433330458445</id><published>2012-11-20T09:34:00.001+02:00</published><updated>2012-11-20T09:44:53.854+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: Finding area of a circle(function)</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include&amp;lt;iostream.h&amp;gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
float area(int x,float a )&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
{&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
a = (x*x)*(3.14);&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
return a;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
}&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
int&amp;nbsp; main()&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
{&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; float a,int x;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;enter x&quot;&amp;lt;&amp;lt;endl;cin&amp;gt;&amp;gt;x;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
a = (x*x)*(3.14);&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
cout&amp;lt;&amp;lt;&quot;area=&quot;&amp;lt;&amp;lt;a;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
return 0;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
}&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/1268861433330458445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-finding-circle-areafunction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1268861433330458445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1268861433330458445'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-finding-circle-areafunction.html' title='C++: Finding area of a circle(function)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-1851529539316997741</id><published>2012-11-20T09:31:00.000+02:00</published><updated>2012-11-20T09:31:38.463+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: Maximum of three numbers(function)</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include&amp;lt;iostream.h&amp;gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
int max(int x,int y ,int z)&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
{&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(x&amp;gt;y&amp;amp;&amp;amp;x&amp;gt;z) return x;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (y&amp;gt;x&amp;amp;&amp;amp;y&amp;gt;z)return y;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (z&amp;gt;x&amp;amp;&amp;amp;z&amp;gt;y)return z;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
}&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
int main()&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
{&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x,y,z,m;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
cout&amp;lt;&amp;lt;&quot;enter x&quot;&amp;lt;&amp;lt;endl;cin&amp;gt;&amp;gt;x;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
cout&amp;lt;&amp;lt;&quot;enter y&quot;&amp;lt;&amp;lt;endl;cin&amp;gt;&amp;gt;y;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
cout&amp;lt;&amp;lt;&quot;enter z&quot;&amp;lt;&amp;lt;endl;cin&amp;gt;&amp;gt;z;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
m=max(x,y,z);&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
cout&amp;lt;&amp;lt;&quot;Max is&quot;&amp;lt;&amp;lt;m;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
return 0;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/1851529539316997741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-maximum-of-three-numbersfunction_20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1851529539316997741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1851529539316997741'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-maximum-of-three-numbersfunction_20.html' title='C++: Maximum of three numbers(function)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-3361375789204079699</id><published>2012-11-20T09:26:00.001+02:00</published><updated>2012-11-20T09:28:44.030+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: Maximum of two numbers(function)</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;mtl fbDocument&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
float greater(float, float);&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;float a, b, c, d, e;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;Enter the first number&quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;a=&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;a;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;Enter the second number&quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;b=&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;b;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;Enter the third number&quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;c=&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;c;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;d = greater(a,b);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;e = greater(d,c);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;e&amp;lt;&amp;lt;&quot; is the greatest number&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;return 0;&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
float grater(float x, float y)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;if (x&amp;gt;y)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return y;&lt;br /&gt;
&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/3361375789204079699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-maximum-of-three-numbersfunction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/3361375789204079699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/3361375789204079699'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-maximum-of-three-numbersfunction.html' title='C++: Maximum of two numbers(function)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-512537854006369895</id><published>2012-11-20T09:23:00.001+02:00</published><updated>2012-11-20T09:23:40.209+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: Maximum of three numbers</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;mtl fbDocument&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;

&lt;br /&gt;

int main()&lt;br /&gt;

&amp;nbsp;{&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;float a, b, c;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;Enter the first number&quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;a=&quot;;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;a;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;Enter the second number&quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;b=&quot;;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;b;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;Enter the third number&quot;&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;c=&quot;;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;cin&amp;gt;&amp;gt;c;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;if (a&amp;gt;b)&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (a&amp;gt;c)&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;a&amp;lt;&amp;lt;&quot; is the gratest&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;c&amp;lt;&amp;lt;&quot; is the gratest&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (b&amp;gt;c)&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;b&amp;lt;&amp;lt;&quot; is the gratest&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;c&amp;lt;&amp;lt;&quot; is the gratest&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;

&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&amp;nbsp;return 0;&lt;br /&gt;

&amp;nbsp;}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/512537854006369895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-maximum-of-three-numbers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/512537854006369895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/512537854006369895'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-maximum-of-three-numbers.html' title='C++: Maximum of three numbers'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-2994795405334262278</id><published>2012-11-16T21:38:00.000+02:00</published><updated>2012-11-20T06:12:30.969+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'>C++ classes: Priority Queue Minimum Heap</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// File: PQ.h&lt;br /&gt;// Priority Queue header file (Minimum Heap)&lt;br /&gt;/* ______________________________________________________________________________&lt;br /&gt;The PQ is implemented as a minimum Heap. &lt;br /&gt;The elements of the heap are of type (E).&lt;br /&gt;The top of the heap will contain the smallest element. &lt;br /&gt;The heap condition is that a parent is always &lt;br /&gt;less than or equal to the children. &lt;br /&gt;The heap is implemented as a dynamic array a[] with a &lt;br /&gt;size specified by the class constructor. &lt;br /&gt;Location a[0] is reserved for a value &quot;itemMin&quot; smaller &lt;br /&gt;than any possible value (e.g. a negative number)&lt;br /&gt;_________________________________________________________________________________&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#ifndef PQ_H&lt;br /&gt;#define PQ_H&lt;br /&gt;&lt;br /&gt;template &amp;lt;class E&amp;gt;&lt;br /&gt;&lt;br /&gt;class PQ&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; public:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Class Constructor with input size parameter&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PQ(int );&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Class Destructor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;~PQ();&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Member Functions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void insert(E );&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// insert element into heap&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;E remove();&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// remove &amp;amp; return the top of the heap&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void dispHeap();&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// Display Heap Array as a tree&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Pointer to Storage Array&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;E *a;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Maximum Size (not including a[0])&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int MaxSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int N;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// index of last element in the array&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;E itemMin;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// itemMin to be stored in a[0]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Heap Adjustment Functions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void upheap(int k);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void downheap(int k);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void disp_Level (int Nrows, int level, int s, int e);&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;#endif // PQ_H&lt;br /&gt;#include &quot;PQ.cpp&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// File:PQ.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// PQ (min Heap) Class implementation &lt;/span&gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cmath&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/&lt;span style=&quot;color: #38761d;&quot;&gt;/ Member Functions&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Constructor with argument. Max size is mVal elements &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// not including a[0] which will receive -32767&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// The constructor creates the heap array, initializes&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// the end of the heap to N=0,and itmMin&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
PQ&amp;lt;E&amp;gt;::PQ(int mVal)&lt;br /&gt;
{ &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;MaxSize = mVal;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;a = new E[MaxSize+1]; &amp;nbsp;&amp;nbsp; &amp;nbsp;N=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;itemMin = -32767; // Minimum Heap&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;a[0] = itemMin ;&lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Class Destructor&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
PQ&amp;lt;E&amp;gt;::~PQ()&lt;br /&gt;
{ delete [] a;}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Heap Adjustment Functions&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// upheap element at location (k) in the heap&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// as long as it is less than the parent&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
void PQ&amp;lt;E&amp;gt;::upheap(int k) &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;E v = a[k] ;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;while ( a[k/2] &amp;gt;= v)&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{ a[k] = a[k/2] ;&amp;nbsp;&amp;nbsp; k = k/2 ; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;a[k] = v ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// downheap element at (k) in the heap&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
void PQ&amp;lt;E&amp;gt;::downheap(int k) &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int j = 2 * k ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E v = a[k] ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;while (j &amp;lt;= N) { &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if ((j &amp;lt; N) &amp;amp;&amp;amp; (a[j] &amp;gt; a[j+1])) j++ ; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if ( v &amp;lt;= a[j] ) break;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;a[j/2] = a[j] ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j *= 2 ;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;a[j/2] = v ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Insert element (v) in the heap and adjust heap&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
void PQ&amp;lt;E&amp;gt;::insert(E v)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;a[++N] = v ;&amp;nbsp;&amp;nbsp;&amp;nbsp; upheap(N) ; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// remove and return top of the heap, then adjust heap&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
E PQ&amp;lt;E&amp;gt;::remove() &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;E v = a[1] ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;a[1] = a[N--] ; downheap(1) ; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return v;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
void PQ&amp;lt;E&amp;gt;::dispHeap()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int s = 1, e = 1, rlength, k,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Nlevels = int(ceil(log(float(N))/log(2.0)+ 0.01));&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for (int level=0; level&amp;lt;Nlevels; level++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;disp_Level (Nlevels, level, s, e);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlength = e-s+1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;s = e+1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;k = e + 2*rlength;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;e = (k &amp;lt; N)? k : N;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;class E&amp;gt;&lt;br /&gt;
void PQ&amp;lt;E&amp;gt;::disp_Level (int Nrows, int level, int s, int e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int skip = int(pow(2.0, Nrows-level) - 1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for (int i = s; i &amp;lt;= e; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; setw(skip) &amp;lt;&amp;lt; &quot; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; setw(2) &amp;lt;&amp;lt; a[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; setw(skip) &amp;lt;&amp;lt; &quot; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;\n\n\n&quot;;&lt;br /&gt;
}&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// FILE: HeapSortTest.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Heap Sorting of a random sequence of integers.&lt;/span&gt;&lt;br /&gt;
#include &quot;PQ.h&quot;&lt;br /&gt;
#include &amp;lt;time.h&amp;gt;&lt;br /&gt;
#include &amp;lt;conio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// ______________________________Globals __________________&lt;/span&gt;&lt;br /&gt;
const int Nmax = 200;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// Maximum number of elements&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Functions Prototype Definitions_________________________&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Swap element[i] with element[k]&lt;/span&gt;&lt;br /&gt;
void swap(int &amp;amp;, int &amp;amp;);&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Generate a random integer from (i) to (j)&lt;/span&gt;&lt;br /&gt;
int&amp;nbsp; RandInt(int i,int j);&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Generate a random permutaion of the first N integers&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
void RandPerm(int X[], int N);&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Heapsort array X[] locations 1..N &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
void heapsort(int X[], int N);&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;//__________________________________________________________&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int X[Nmax+1];&amp;nbsp;&amp;nbsp; &amp;nbsp;// Array of random permutation of integers&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int i,N;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;&quot;Input N: &quot;; cin &amp;gt;&amp;gt; N;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;srand((unsigned)time(NULL));&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;RandPerm(X,N);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i=1; i&amp;lt;=N; i++) cout&amp;lt;&amp;lt;X[i] &amp;lt;&amp;lt;&quot; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;heapsort(X,N);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i=1; i&amp;lt;=N; i++) cout&amp;lt;&amp;lt;X[i] &amp;lt;&amp;lt;&quot; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;_getch();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;//Implementation of Functions________________________________&lt;/span&gt;&lt;br /&gt;
void swap(int &amp;amp;a, int &amp;amp;b)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int t;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;t = a; a = b; b = t;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;//____________________________________________________________&lt;/span&gt;&lt;br /&gt;
int RandInt(int i,int j) &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return (rand()%(j-i+1) + i);&lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;//____________________________________________________________&lt;/span&gt;&lt;br /&gt;
void RandPerm(int X[], int s) &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int i,k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i=1;i&amp;lt;=s;i++) X[i] = i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i=2;i&amp;lt;=s;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;k = RandInt(1,i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap(X[i],X[k]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;//______________________________________________________________&lt;/span&gt;&lt;br /&gt;
void heapsort(int X[], int N) &amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;PQ&amp;lt;int&amp;gt; Heap(N);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt;= N; i++) Heap.insert(X[i]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt;= N; i++) X[i] = Heap.remove(); &lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/2994795405334262278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-priority-queue-minimum-heap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2994795405334262278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2994795405334262278'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-priority-queue-minimum-heap.html' title='C++ classes: Priority Queue Minimum Heap'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-4084280396451848177</id><published>2012-11-16T21:33:00.000+02:00</published><updated>2012-11-20T06:14:45.785+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'>C++ classes: Minimum Heap</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// File: MinHeap.h&lt;br /&gt;// Heap Class header file (Minimum Heap for graph edges)&lt;br /&gt;/* ________________________________________________________________________________________________&lt;br /&gt;The following is a definition of a class for a Minimum Heap &quot;MinHeap&quot;. The elements of the heap are&lt;br /&gt;structs that model an edge in a non-directed weighted graph. Each edge is characterized by three &lt;br /&gt;integers: (u,v,w). u is the index of a node, v is the index of the second node, and w is the weight&lt;br /&gt;of the edge between u and v. The top of the heap will contain the edge with the minimum weight. The&lt;br /&gt;heap condition is that a parent is always less than or equal to the children. The heap is implemented&lt;br /&gt;as a dynamic array a[] with a size specified by the class constructor. Location a[0] is reserved to&lt;br /&gt;contain a weight value &quot;itemMin&quot; smaller than any possible weight value (e.g. a negative number)&lt;br /&gt;___________________________________________________________________________________________________&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#ifndef MINHEAP_H&lt;br /&gt;#define MINHEAP_H&lt;br /&gt;#include &quot;Edge.h&quot;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class MinHeap&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; // Member Functions&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Class Constructor with input size parameter&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MinHeap(int );&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Class Destructor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~MinHeap();&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Functions Prototype Definitions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void insert(Edge e);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; // insert edge into heap&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Edge remove();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// remove the top of the heap&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Pointer to Storage Array&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Edge *a;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Maximum Size (not including a[0])&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MaxSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int N;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // index of last element in the heap&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; weightType itemMin;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; // itemMin to be stored in a[0]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Heap Adjustment Functions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void upheap(int k);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void downheap(int k);&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;#endif // MINHEAP_H&lt;br /&gt;#include &quot;MinHeap.cpp&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// File:MinHeap.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Heape Class implementation file (Minimum heap for graph edges)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Member Functions&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Constructor with argument. max size is mVal elements &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// not including a[0] which will receive a weight -32767&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// The constructor creates the heap array, initializes&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// the end of the heap to N=0,and itmMin&lt;/span&gt;&lt;br /&gt;
MinHeap::MinHeap(int mVal)&lt;br /&gt;
{ &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a = new Edge[mVal+1]; &amp;nbsp;&amp;nbsp;&amp;nbsp; N=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxSize = mVal; itemMin = -32767; // Minimum Heap&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0].w = itemMin ;&lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Class Destructor&lt;/span&gt;&lt;br /&gt;
MinHeap::~MinHeap()&lt;br /&gt;
{ delete [] a;}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Heap Adjustment Functions&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// upheap element at location (k) in the heap&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// as long as it is less than the parent&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
void MinHeap::upheap(int k) &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Edge e = a[k]&amp;nbsp; ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( e &amp;lt;= a[k/2])&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; { a[k] = a[k/2] ;&amp;nbsp;&amp;nbsp; k = k/2 ; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a[k] = e ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// downheap element at (k) in the heap&lt;/span&gt;&lt;br /&gt;
void MinHeap::downheap(int k) &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int j = 2 * k ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Edge e = a[k] ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (j &amp;lt;= N) { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if ((j &amp;lt; N) &amp;amp;&amp;amp; (a[j+1] &amp;lt; a[j])) j++ ; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if ( e &amp;lt;= a[j] ) break;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a[j/2] = a[j] ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j *= 2 ;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a[j/2] = e ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Insert (e) in a heap and adjust heap&lt;/span&gt;&lt;br /&gt;
void MinHeap::insert(Edge e) &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a[++N] = e ;&amp;nbsp;&amp;nbsp;&amp;nbsp; upheap(N) ; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// remove and return top of the heap, then adjust heap&lt;/span&gt;&lt;br /&gt;
Edge MinHeap::remove() &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Edge e = a[1] ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a[1] = a[N--] ; downheap(1) ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return e;&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/4084280396451848177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-minimum-heap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4084280396451848177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4084280396451848177'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-minimum-heap.html' title='C++ classes: Minimum Heap'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-3337378736543952076</id><published>2012-11-15T22:55:00.001+02:00</published><updated>2012-11-20T06:21:38.557+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: Linked list</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// File: List.h&lt;br /&gt;// Definition of Simple Linked List Template Class&lt;/span&gt;&lt;br /&gt;#ifndef LIST_H&lt;br /&gt;#define LIST_H&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Specification of the class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;&lt;br /&gt;class List&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;// Member Functions&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Create an empty List&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;List();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Destroy List&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;~List();&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Functions Prototype Definitions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bool listIsEmpty() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bool curIsEmpty() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void toFirst();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bool atFirst() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void advance();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void toEnd();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bool atEnd() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int&amp;nbsp; listSize() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void updateData(const dataType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void retrieveData(dataType &amp;amp;) const;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void insertFirst(const keyType &amp;amp;, const dataType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void insertAfter(const keyType &amp;amp;, const dataType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void insertBefore(const keyType &amp;amp;, const dataType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void insertEnd(const keyType &amp;amp;, const dataType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void deleteNode();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void deleteFirst();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void deleteEnd();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void makeListEmpty();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bool search(const keyType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void orderInsert(const keyType &amp;amp;, const dataType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;void traverse();&lt;br /&gt;&lt;br /&gt;private:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// Node Class&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; class node&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; keyType key;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// key &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dataType data;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;// Data&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; node *next;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp;// pointer to next node&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;span style=&quot;color: #38761d;&quot;&gt;// end of class node declaration&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; typedef node * NodePointer;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;// Pointers&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;NodePointer head, cursor, prev;&lt;br /&gt;};&lt;br /&gt;#endif &lt;span style=&quot;color: #38761d;&quot;&gt;// LIST_H&lt;/span&gt;&lt;br /&gt;#include &quot;List.cpp&quot; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// File:List.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Simple Linked List Class implementation file&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Member Functions&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Class Constructor&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
List&amp;lt;keyType, dataType&amp;gt;::List()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; head = NULL; cursor = NULL;&amp;nbsp; prev = NULL;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Class Destructor&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
List&amp;lt;keyType, dataType&amp;gt;::~List()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; makeListEmpty();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// return True if list is empty&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool List&amp;lt;keyType, dataType&amp;gt;::listIsEmpty() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return (head == NULL);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// return True if current position is empty&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool List&amp;lt;keyType, dataType&amp;gt;::curIsEmpty() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return (cursor == NULL);&lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to make the current node the first node; if list is empty, &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// the current position is still empty&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::toFirst()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = head;&amp;nbsp; prev = NULL;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to return True if the current node is the first node or &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// if the list and the current position are both empty.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool List&amp;lt;keyType, dataType&amp;gt;::atFirst() const&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return (cursor == head);&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to advance to next node. Assume the current position &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// is nonempty initially.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::advance()&lt;br /&gt;
{&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; prev = cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = cursor-&amp;gt;next;&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to make the current node the tail node; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// if list is empty, the current position is still empty&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::toEnd() &lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; toFirst();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (! listIsEmpty())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while ( cursor-&amp;gt;next != NULL) advance();&amp;nbsp;&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to return True if the current node is the tail node or &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// if the list and the current position are both empty.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool List&amp;lt;keyType, dataType&amp;gt;::atEnd() const&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( listIsEmpty()) return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else if (curIsEmpty()) return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else return (cursor-&amp;gt;next == NULL);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to return the size of the list&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
int List&amp;lt;keyType, dataType&amp;gt;::listSize() const&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer q; &amp;nbsp;&amp;nbsp;&amp;nbsp; int count;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; q = head;&amp;nbsp;&amp;nbsp;&amp;nbsp; count = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (q != NULL)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; count++; &amp;nbsp;&amp;nbsp;&amp;nbsp; q = q-&amp;gt;next;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return count;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to update the data portion of the current node to contain el; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// assume the current position is nonempty.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::updateData(const dataType &amp;amp;d)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor-&amp;gt;data = d; &lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to return the data in the current node; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// assume the current position is nonempty.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::retrieveData(dataType &amp;amp;d) const&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; d = cursor-&amp;gt;data;&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// insert a node with data (el) at the head of the list; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// the new node becomes the current node.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::insertFirst(const keyType &amp;amp;k, const dataType &amp;amp;d )&lt;br /&gt;
{ &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer pnew;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew = new node;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;key = k; pnew-&amp;gt;data = d;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;next = head;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; head = pnew; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = head;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; prev = NULL;&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// insert a node with data (el) after the current node &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// without changing the current position; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// assume the current position is nonempty in a non-empty list.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::insertAfter(const keyType &amp;amp;k, const dataType &amp;amp;d )&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer pnew;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew = new node;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;key = k; pnew-&amp;gt;data = d;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;next = cursor-&amp;gt;next;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor-&amp;gt;next = pnew;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// insert a node with data (el) before the current node,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// current position becomes the new node.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::insertBefore(const keyType &amp;amp;k, const dataType &amp;amp;d )&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer pnew;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew = new node;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;key = k; pnew-&amp;gt;data = d;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;next = cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; prev-&amp;gt;next = pnew;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = pnew;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// insert a node with data (el) at the end of the list,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// current position becomes the new node.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::insertEnd(const keyType &amp;amp;k, const dataType &amp;amp;d )&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (listIsEmpty()) insertFirst(k,d);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else {toEnd(); insertAfter(k,d); }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// delete the current node and set the current position to the next node; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// if the current node is the last node initially, the current position becomes empty; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// assume the current position is nonempty initially.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::deleteNode()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer q;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(! curIsEmpty())&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // current node is not empty&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (atFirst()) &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // delete head node&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; q = cursor; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = cursor-&amp;gt;next;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; head = cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; delete q;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // delete non-head node&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; q = cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = cursor-&amp;gt;next;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; prev-&amp;gt;next = cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; delete q;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// delete the first node and set the current position to the next node; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// if it was initially the only node, the current position becomes empty; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// assume the current position is nonempty initially.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::deleteFirst()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(! listIsEmpty()) {toFirst(); deleteNode();}&lt;br /&gt;
}&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// delete the last node and set the current position to empty; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// assume the current position is nonempty initially.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::deleteEnd()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(! listIsEmpty()) {toEnd(); deleteNode();}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// delete whole list&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::makeListEmpty()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toFirst(); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (! listIsEmpty())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteNode();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// search the list for the node with key part that matches (k). &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// If found, set cursor to the node and return True,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// else return false and the current position becomes empty.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool List&amp;lt;keyType, dataType&amp;gt;::search(const keyType &amp;amp;k) &lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bool found = false;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; toFirst();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((! found) &amp;amp;&amp;amp; (cursor != NULL)) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (k == cursor-&amp;gt;key)&amp;nbsp; found = true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else advance();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return found;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// insert a node in a position that maintains an ascending &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// order of the key portion of the nodes.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::orderInsert(const keyType &amp;amp;k, const dataType &amp;amp;d)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; toFirst();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((cursor != NULL) &amp;amp;&amp;amp; (k &amp;gt; cursor-&amp;gt;key))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; advance();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (prev == NULL)&amp;nbsp; insertFirst(k,d);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else insertBefore(k,d);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// traverse list to print key and data fields&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void List&amp;lt;keyType, dataType&amp;gt;::traverse()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; toFirst();&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (! curIsEmpty())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; cursor-&amp;gt;key &amp;lt;&amp;lt; &quot; &quot; &amp;lt;&amp;lt; cursor-&amp;gt;data &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; advance(); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// File: ListAppl.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Applies List Class: Ordered linked list&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
#include &quot;List.h&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;char, int&amp;gt; clist;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; string s;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char c;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, count;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bool keyfound;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read a string&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter a string:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; getline(cin,s);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; s &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; s.length(); i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; c = toupper(s.at(i)); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; keyfound = clist.search(c);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (keyfound) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; clist.retrieveData(count);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; count++; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; clist.updateData(count);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else clist.orderInsert(c,1); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; clist.traverse();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; clist.listSize() &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clist.makeListEmpty(); &lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; clist.~List();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; clist.listSize() &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;
}&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/3337378736543952076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-linked-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/3337378736543952076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/3337378736543952076'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-linked-list.html' title=' C++ classes: Linked list'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-770696222951032674</id><published>2012-11-15T22:50:00.001+02:00</published><updated>2012-11-20T06:25:11.129+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: Hash Table</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// File: hashTable.h&lt;br /&gt;// Definition of Hash Table Template Class&lt;/span&gt;&lt;br /&gt;#ifndef HASH_TABLE_H&lt;br /&gt;#define HASH_TABLE_H&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Specification of the class&lt;/span&gt;&lt;br /&gt;template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;&lt;br /&gt;class hashTable&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Member Functions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hashTable(int nelements = 11);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Constructor&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~hashTable();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Destructor&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Functions Prototype Definitions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void emptyTable(const keyType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool tableIsEmpty() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool tableIsFull() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp; occupancy() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool insert(const keyType &amp;amp;, const dataType &amp;amp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool search(const keyType &amp;amp; ); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //void remove();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void updateData(const dataType &amp;amp; ); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void retrieveData(dataType &amp;amp;) const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void traverse() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; private:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Slot Class&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; class slot&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; keyType key; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // key &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dataType data;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Data&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;span style=&quot;color: #38761d;&quot;&gt; // end of class slot declaration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; slot *T;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; // Pointer to Storage Array&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int h;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; // Index to a slot&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MaxSize, csize;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Maximum and Current Sizes&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; keyType Empty;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // empty symbol&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Private Member function&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int hash(const keyType &amp;amp; ) const;&lt;br /&gt;};&lt;br /&gt;#endif // HASH_TABLE_H&lt;br /&gt;#include &quot;hashTable.cpp&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// File:hashTable.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// hashTable Class implementation file&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Constructor with argument, size is nelements, default is 11&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
hashTable&amp;lt;keyType, dataType&amp;gt;::hashTable(int nelements)&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&amp;nbsp; MaxSize = nelements; T = new slot[MaxSize];&amp;nbsp; h = -1; csize = 0;}&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Destructor&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
hashTable&amp;lt;keyType, dataType&amp;gt;::~hashTable()&lt;br /&gt;
{ delete [] T;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Empty all slots&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void hashTable&amp;lt;keyType, dataType&amp;gt;::emptyTable(const keyType &amp;amp;k) &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Empty = k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i = 0; i &amp;lt; MaxSize; i++) T[i].key = Empty;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; h = -1;&amp;nbsp; csize = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// return True if table is empty&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool hashTable&amp;lt;keyType, dataType&amp;gt;::tableIsEmpty() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return (csize == 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// return True if table is full&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool hashTable&amp;lt;keyType, dataType&amp;gt;::tableIsFull() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return (csize == MaxSize);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// to return the current occupancy of the table&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
int hashTable&amp;lt;keyType, dataType&amp;gt;::occupancy() const&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return csize;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// insert key and data at a hashed slot&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool hashTable&amp;lt;keyType, dataType&amp;gt;::insert(const keyType &amp;amp;k, const dataType &amp;amp;d)&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!tableIsFull())&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; h = hash(k); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while(T[h].key != Empty)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; h = (h+1) % MaxSize;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; T[h].key = k;&amp;nbsp; T[h].data = d; csize++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Search the table for the slot that matches key. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// If found, return True, set current position to slot&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool hashTable&amp;lt;keyType, dataType&amp;gt;::search(const keyType &amp;amp;k )&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(!tableIsEmpty()) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; h = hash(k); int start = h;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for ( ; ; )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (T[h].key == Empty) return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (k == T[h].key) return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; h = (h+1) % MaxSize;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (h == start) return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove given key from (make deleted) current slot&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt; &lt;br /&gt;
void hashTable&amp;lt;keyType, dataType&amp;gt;::remove()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; T[h].key = Deleted;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Update the data part of the current slot&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void hashTable&amp;lt;keyType, dataType&amp;gt;::updateData(const dataType &amp;amp;d )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((h &amp;gt;=0)&amp;amp;&amp;amp;(h &amp;lt; MaxSize)) T[h].data = d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Retrieve the data part of the current slot&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt; &lt;br /&gt;
void hashTable&amp;lt;keyType, dataType&amp;gt;::retrieveData(dataType &amp;amp;d) const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((h &amp;gt;= 0)&amp;amp;&amp;amp;(h &amp;lt; MaxSize)) d = T[h].data;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else d = T[0].data;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Traverse whole table&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void hashTable&amp;lt;keyType, dataType&amp;gt;::traverse() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i = 0; i &amp;lt; MaxSize; i++) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; T[i].key &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Private Hashing Function&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
int hashTable&amp;lt;keyType, dataType&amp;gt;::hash(const keyType &amp;amp;k ) const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return (k % MaxSize);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// File: hashtest.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;// Test class template hashTable&lt;/span&gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
#include &quot;hashTable.h&quot;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;const int N = 9;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int A[N] = {55,35,66,76,59,48,84,70,54};&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int B[N] = {1,2,3,4,5,6,7,8,9};&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int e = -1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int x,d;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;hashTable&amp;lt;int, int&amp;gt; HT;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Constructing empty Hash Table\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.emptyTable(e);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Table &quot; &amp;lt;&amp;lt; (HT.tableIsEmpty() ? &quot;is&quot; : &quot;is not&quot;) &amp;lt;&amp;lt; &quot; empty\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Traversing\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.traverse();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;for(int i = 0; i&amp;lt;N; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(HT.insert(A[i], B[i])) cout &amp;lt;&amp;lt; A[i] &amp;lt;&amp;lt;&quot; is inserted, occupancy = &quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;&amp;lt; HT.occupancy() &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Table &quot; &amp;lt;&amp;lt; (HT.tableIsEmpty() ? &quot;is&quot; : &quot;is not&quot;) &amp;lt;&amp;lt; &quot; empty\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Traversing\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.traverse();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Searching\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;x = A[2];&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; (HT.search(x) ? &quot; is&quot; : &quot; is not&quot;) &amp;lt;&amp;lt; &quot; found\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Retrieving data part of &quot; &amp;lt;&amp;lt; x; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.retrieveData(d);&amp;nbsp; cout &amp;lt;&amp;lt;&quot; = &quot; &amp;lt;&amp;lt; d; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Updating\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.updateData(99);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Retrieving data part of &quot; &amp;lt;&amp;lt; x; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.retrieveData(d);&amp;nbsp; cout &amp;lt;&amp;lt;&quot; = &quot; &amp;lt;&amp;lt; d; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;x = 123;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; (HT.search(x) ? &quot; is&quot; : &quot; is not&quot;) &amp;lt;&amp;lt; &quot; found\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;x = 70;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Searching\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; (HT.search(x) ? &quot; is&quot; : &quot; is not&quot;) &amp;lt;&amp;lt; &quot; found\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Retrieving data part of &quot; &amp;lt;&amp;lt; x; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.retrieveData(d);&amp;nbsp; cout &amp;lt;&amp;lt;&quot; = &quot; &amp;lt;&amp;lt; d; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Traversing\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.traverse();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;x = 44;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;if(HT.insert(x, 10)) cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt;&quot; is inserted, occupancy = &quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;&amp;lt; HT.occupancy() &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;Traversing\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;HT.traverse();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/770696222951032674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-hash-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/770696222951032674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/770696222951032674'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-hash-table.html' title=' C++ classes: Hash Table'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-4043572769300657207</id><published>2012-11-15T22:45:00.001+02:00</published><updated>2012-11-20T04:58:09.216+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: Simple String</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;// File simpleString.h&lt;br /&gt;// Simple string class definition&lt;/span&gt;&lt;br /&gt;#ifndef SIMPLESTRING_H&lt;br /&gt;#define SIMPLESTRING_H&lt;br /&gt;&lt;br /&gt;class simpleString&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Member Functions&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // constructors&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; simpleString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; simpleString(int );&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Destructor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ~simpleString();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Function Prototype definition&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Read a simple string&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void readString();&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Display a simple string&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void writeString() const;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Retrieve the character at a specified position&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Returns the character \0 if position is out of bounds&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char at(int) const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Return the string length&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int getLength() const;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Return the string capacity&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int getCapacity() const;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void getContents(char[]) const;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Data members (attributes)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // maximum size&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; int capacity;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // pointer to storage array&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char *s;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // current length&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int length; &lt;br /&gt;};&lt;br /&gt;&amp;nbsp; &lt;br /&gt;#endif &lt;span style=&quot;color: lime;&quot;&gt;//SIMPLESTRING_H&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// File simplestring.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Simple string class implementation&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#include &quot;simplestring.h&quot;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Member Functions...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// constructors&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// default constructor, capacity = 255&lt;/span&gt;&lt;br /&gt;
simpleString::simpleString()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; s = new char[255]; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; capacity = 255; length = 0; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Constructor with argument, capacity is mVal&lt;/span&gt;&lt;br /&gt;
simpleString::simpleString(int mVal)&lt;br /&gt;
{ &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; s = new char[mVal]; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; capacity = mVal; length = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Class Destructor&lt;/span&gt;&lt;br /&gt;
simpleString::~simpleString()&lt;br /&gt;
{ delete [] s;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Read a simple string&lt;/span&gt;&lt;br /&gt;
void simpleString::readString()&lt;br /&gt;
{&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp; // Local data...&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; char next;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; int pos = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; cin.get(next);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; while ((next != &#39;\n&#39;) &amp;amp;&amp;amp; (pos &amp;lt; capacity))&lt;br /&gt;
&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Insert next in array contents&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s[pos] = next;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pos++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin.get(next);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; length = pos; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Write a simple string&lt;/span&gt;&lt;br /&gt;
void simpleString::writeString() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; for (int pos = 0; pos &amp;lt; length; pos++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; s[pos];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Retrieve the character at a specified position&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Returns the character \0 if position is out&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// of bounds&lt;/span&gt;&lt;br /&gt;
char simpleString::at(int pos) const &lt;br /&gt;
{&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp; // Local data&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; const char nullcharacter = &#39;\0&#39;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; if ((pos &amp;lt; 0) || (pos &amp;gt;= length))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cerr &amp;lt;&amp;lt; &quot;position &quot; &amp;lt;&amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pos &amp;lt;&amp;lt; &quot; not defined.&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return nullcharacter;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp; else&amp;nbsp; return s[pos];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Return the string length&lt;/span&gt;&lt;br /&gt;
int simpleString::getLength() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; return length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Return the string capacity&lt;/span&gt;&lt;br /&gt;
int simpleString::getCapacity() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; return capacity;&lt;br /&gt;
}&lt;br /&gt;
void simpleString::getContents(char str[]) const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; length; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; str[i] = s[i];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// File: simpleStringTest.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Tests the simple string class&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#include &quot;simpleString.h&quot;&lt;br /&gt;
#include &quot;simpleString.cpp&quot;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; simpleString S1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; simpleString S2(20);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; S1.getCapacity() &amp;lt;&amp;lt;&quot; &quot;&amp;lt;&amp;lt;S1.getLength() &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; S2.getCapacity() &amp;lt;&amp;lt;&quot; &quot;&amp;lt;&amp;lt;S2.getLength() &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read in a string.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter a string and press RETURN: &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; S1.readString();&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp; // Display the string just read.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;The string read was: &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; S1.writeString();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp; // Display each character on a separate line.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;The characters in the string follow:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; for (int pos = 0; pos &amp;lt; S1.getLength(); pos++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; S1.at(pos) &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/4043572769300657207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-simple-string.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4043572769300657207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4043572769300657207'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-simple-string.html' title=' C++ classes: Simple String'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-2589369582421417774</id><published>2012-11-15T22:39:00.002+02:00</published><updated>2012-11-20T04:30:17.884+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: Sets</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;// File: Sets.h&lt;br /&gt;// Definition of Disjoint Sets Class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#ifndef SETS_H&lt;br /&gt;#define SETS_H&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// Specification of the class&lt;/span&gt;&lt;br /&gt;class Sets &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int *p, *c, n;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sets(int Size): n(Size)&amp;nbsp;&amp;nbsp; &amp;nbsp;// Constructor &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; p = new int[n+1]; c = new int[n+1];&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;=n; i++) {p[i] = -1; c[i] = 1;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~Sets()&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Destructor &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { delete [] p; delete [] c; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void SimpleUnion(int i, int j);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int SimpleFind(int i);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void dispSets() const;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;#endif // SETS_H&lt;br /&gt;#include &quot;Sets.cpp&quot; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp; // File: Sets.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Disjoint Sets class implementation&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Make a union between set(i) and set(j)&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;void Sets::SimpleUnion(int i, int j) &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{ &amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int sum = c[i] + c[j];&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (c[i] &amp;gt; c[j]) {p[j] = i; c[i] = sum;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;else { p[i] = j; c[j] = sum;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Find the parent set of subset(i)&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int Sets::SimpleFind(int i) &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{ &amp;nbsp;&amp;nbsp; &amp;nbsp;while (p[i]&amp;gt;=0) i = p[i]; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return i; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;} &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Display parent array&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;void Sets::dispSets() const&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for (int i = 1; i&amp;lt;=n; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; i &amp;lt;&amp;lt;&quot;:&quot;&amp;lt;&amp;lt;p[i]&amp;lt;&amp;lt;&quot;:&quot;&amp;lt;&amp;lt;c[i]&amp;lt;&amp;lt;&quot; &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// File: SetsTest.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Test of class Sets&lt;/span&gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
#include &quot;Sets.h&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main()&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Testing the Sets Class&lt;/span&gt; &lt;br /&gt;
{&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;// Union and find&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;Sets s(16);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;s.dispSets();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;s.SimpleUnion(7,1); s.SimpleUnion(8,1); s.SimpleUnion(9,1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;s.SimpleUnion(2,5); s.SimpleUnion(10,5);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;s.SimpleUnion(4,3); s.SimpleUnion(6,3);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;s.dispSets();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;i = 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;parent set of &quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &quot; is &quot; &amp;lt;&amp;lt; s.SimpleFind(i) &amp;lt;&amp;lt;&quot;\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;i = 4;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;parent set of &quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &quot; is &quot; &amp;lt;&amp;lt; s.SimpleFind(i) &amp;lt;&amp;lt;&quot;\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;i = 10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;parent set of &quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &quot; is &quot; &amp;lt;&amp;lt; s.SimpleFind(i) &amp;lt;&amp;lt;&quot;\n&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;s.SimpleUnion(5,1); &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;s.dispSets();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;i = 10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;cout &amp;lt;&amp;lt; &quot;parent set of &quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &quot; is &quot; &amp;lt;&amp;lt; s.SimpleFind(i) &amp;lt;&amp;lt;&quot;\n&quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/2589369582421417774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/first-header-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2589369582421417774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2589369582421417774'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/first-header-file.html' title=' C++ classes: Sets'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-1982083740142371523</id><published>2012-11-15T22:29:00.001+02:00</published><updated>2015-01-08T06:02:09.646+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'>C++ classes: Queue (Using Dynamic array)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;// File: Queuet.h&lt;br /&gt;// Queue template class definition&lt;br /&gt;// Dynamic array implementation &lt;/span&gt;&lt;br /&gt;#ifndef QUEUET_H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;#define QUEUET_H&lt;br /&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;class Queuet&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Queuet(int nelements = 128);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Constructor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; Queuet (const Queuet &amp;lt;Type&amp;gt; &amp;amp;);&amp;nbsp;&amp;nbsp;&amp;nbsp; /&lt;span style=&quot;color: lime;&quot;&gt;/ Copy Constructor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ~Queuet();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Destructor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Member Functions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void enqueue(Type );&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp; // Add to rear&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void dequeue(Type &amp;amp;);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Remove from front&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void queueFront(Type &amp;amp;) const;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp; // retrieve front&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool queueIsEmpty() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Test for Empty queue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool queueIsFull() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Test for Full queue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; int&amp;nbsp; queueLength() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp; // Queue Length&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type *queue;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// pointer to dynamic array&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; int front, rear, count, MaxSize;&lt;br /&gt;&lt;br /&gt;}; &lt;br /&gt;&lt;br /&gt;#endif /&lt;span style=&quot;color: lime;&quot;&gt;/ QUEUET_H&lt;/span&gt;&lt;br /&gt;#include &quot;Queuet.cpp&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// File: Queuet.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Queue template class implementation&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Constructor with argument, size is nelements, default 128&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
Queuet&amp;lt;Type&amp;gt;::Queuet(int nelements)&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&amp;nbsp; MaxSize = nelements; queue = new Type[MaxSize]; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; front = 1; rear = 0; count = 0; &lt;br /&gt;
}&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Copy Constructor&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
Queuet&amp;lt;Type&amp;gt;::Queuet (const Queuet&amp;lt;Type&amp;gt; &amp;amp;original)&lt;br /&gt;
&amp;nbsp;:MaxSize(original.MaxSize), front(original.front), rear(original.rear), count(original.count) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; queue = new Type[MaxSize];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; MaxSize; i++) queue[i] = original.queue[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Destructor&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
Queuet&amp;lt;Type&amp;gt;::~Queuet()&lt;br /&gt;
{ delete [] queue;}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Add to rear&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void Queuet&amp;lt;Type&amp;gt;::enqueue(Type v)&lt;br /&gt;
{ &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(queueIsFull()) cout &amp;lt;&amp;lt; &quot;Queue is Full&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; rear = (rear + 1) % MaxSize;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; queue[rear] = v;&amp;nbsp; count++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Remove from front&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void Queuet&amp;lt;Type&amp;gt;::dequeue(Type &amp;amp;v)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(queueIsEmpty()) cout &amp;lt;&amp;lt; &quot;Queue is Empty&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; v = queue[front];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; front = (front + 1) % MaxSize; count--;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Retrieve front without removing it&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void Queuet&amp;lt;Type&amp;gt;::queueFront(Type &amp;amp;v) const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(queueIsEmpty()) cout &amp;lt;&amp;lt; &quot;Queue is Empty&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else &amp;nbsp;&amp;nbsp;&amp;nbsp; v = queue[front];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Test for Empty queue&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
bool Queuet&amp;lt;Type&amp;gt;::queueIsEmpty() const&lt;br /&gt;
{ return (count == 0); }&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Test for Full queue&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
bool Queuet&amp;lt;Type&amp;gt;::queueIsFull() const&lt;br /&gt;
{ return (count == MaxSize); }&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Queue Length&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
int Queuet&amp;lt;Type&amp;gt;::queueLength() const&lt;br /&gt;
{ return count; }&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;// File: QueuetAppl.cpp&lt;br /&gt;// Test if a string is a palindrome&lt;/span&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;string&amp;gt;&lt;br /&gt;using namespace std;&lt;br /&gt;#include &quot;Stackt.h&quot;&lt;br /&gt;#include &quot;Queuet.h&quot;&lt;br /&gt;bool palindrome(string w);&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string w;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter a string:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; getline(cin,w);&amp;nbsp; cout &amp;lt;&amp;lt; w &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (palindrome(w)) cout &amp;lt;&amp;lt; &quot;Palindrome&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else cout &amp;lt;&amp;lt; &quot;NOT Palindrome&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;bool palindrome(string w)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stackt&amp;lt;char&amp;gt; s;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Queuet&amp;lt;char&amp;gt; q;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int L = w.length();&amp;nbsp;&amp;nbsp;&amp;nbsp; char c,v;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; L; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { c = w.at(i); s.push(c); q.enqueue(c); }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!q.queueIsEmpty()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { q.dequeue(c); s.pop(v); if(c != v) return false; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________________&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Another &lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;class test&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: cyan;&quot;&gt;___________________ &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// File: QueuetAppl2.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Passing a stack and a queue as reference parameters&lt;/span&gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
#include &quot;Stackt.h&quot;&lt;br /&gt;
#include &quot;Queuet.h&quot;&lt;br /&gt;
void fillqs(string ,Stackt&amp;lt;char&amp;gt; &amp;amp;,Queuet&amp;lt;char&amp;gt; &amp;amp;);&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; string w;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char c;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Stackt&amp;lt;char&amp;gt; ST;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Queuet&amp;lt;char&amp;gt; QU;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter a string:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; getline(cin,w);&amp;nbsp; cout &amp;lt;&amp;lt; w &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; fillqs(w,ST,QU);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!ST.stackIsEmpty())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; { ST.pop(c); cout &amp;lt;&amp;lt; c; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!QU.queueIsEmpty()) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; { QU.dequeue(c); cout &amp;lt;&amp;lt; c; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fillqs(string w,Stackt&amp;lt;char&amp;gt; &amp;amp;s,Queuet&amp;lt;char&amp;gt; &amp;amp;q)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int L = w.length();&amp;nbsp;&amp;nbsp;&amp;nbsp; char c;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; L; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { c = w.at(i); s.push(c); q.enqueue(c); }&lt;br /&gt;
} &lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;
  (function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);

  ga(&#39;create&#39;, &#39;UA-58342065-1&#39;, &#39;auto&#39;);
  ga(&#39;send&#39;, &#39;pageview&#39;);

&lt;/script&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/1982083740142371523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-queue-using-dynamic-array.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1982083740142371523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1982083740142371523'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-queue-using-dynamic-array.html' title='C++ classes: Queue (Using Dynamic array)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-4226466655674197951</id><published>2012-11-15T22:23:00.001+02:00</published><updated>2012-11-15T22:41:39.787+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'>C++ classes: BinaryTree</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// FILE: binaryTree.h&lt;br /&gt;// DEFINITION OF TEMPLATE CLASS BINARY SEARCH&lt;br /&gt;// TREE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#ifndef BIN_TREE_H&lt;br /&gt;#define BIN_TREE_H&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// Specification of the class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;&lt;br /&gt;class binaryTree&lt;br /&gt;{&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Public Member functions ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // CREATE AN EMPTY TREE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; binaryTree();&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // INSERT AN ELEMENT INTO THE TREE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool insert (const keyType &amp;amp;, const dataType &amp;amp;);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // CHECK IF THE TREE IS EMPTY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool empty() const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // SEARCH FOR A KEY IN THE TREE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool search (const keyType &amp;amp;) const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // RETRIEVE DATA FOR A GIVEN KEY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool retrieve (const keyType &amp;amp;, dataType &amp;amp;) const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // TRAVERSE A TREE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void traverse() const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Iterative Pre-order Traversal&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void preorder () const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Iterative Level-order Traversal&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void levelorder () const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // GRAPHIC OUTPUT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void graph() const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // REMOVE AN ELEMENT FROM THE TREE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void remove (const keyType &amp;amp;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Node Class&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; class treeNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; keyType key; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // key &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dataType data;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Data&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; treeNode *left;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // left subtree&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; treeNode *right;&amp;nbsp;&amp;nbsp;&amp;nbsp; // right subtree&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; };&lt;span style=&quot;color: lime;&quot;&gt; // end of class treeNode declaration&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; typedef treeNode * NodePointer;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Data member ....&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer root;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Private Member functions ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Searches a subtree for a key&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool search2 (NodePointer , const keyType &amp;amp;) const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Searches a subtree for a key and retrieves data&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool retrieve2 (NodePointer , const keyType &amp;amp; , dataType &amp;amp;) const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Inserts an item in a subtree&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool insert2 (NodePointer &amp;amp;, const keyType &amp;amp;, const dataType &amp;amp;);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Traverses a subtree&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void traverse2 (NodePointer ) const; &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Graphic output of a subtree&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void graph2 (int ,NodePointer ) const;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // LOCATE A NODE CONTAINING ELEMENT AND ITS PARENT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void parentSearch ( const keyType &amp;amp;k, bool &amp;amp;found, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer &amp;amp;locptr, NodePointer &amp;amp;parent) const;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}; &lt;br /&gt;&lt;br /&gt;#endif &lt;span style=&quot;color: lime;&quot;&gt;// BIN_TREE_H&lt;/span&gt;&lt;br /&gt;#include &quot;binaryTree.cpp&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// File: binaryTree.cpp&lt;br /&gt;// Implementation of template class binary search tree&lt;/span&gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
#include &quot;Stackt.h&quot;&lt;br /&gt;
#include &quot;Queuet.h&quot;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;// Member functions ...&lt;br /&gt;&lt;br /&gt;// constructor - create an empty tree&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
binaryTree&amp;lt;keyType, dataType&amp;gt;::binaryTree()&lt;br /&gt;
{ root = NULL; }&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//____________ Public search __________________&lt;br /&gt;// Searches for the item with same key as k&lt;br /&gt;//&amp;nbsp; in a binary search tree.&lt;br /&gt;// Pre : k is defined.&lt;br /&gt;// Returns true if key is located,&lt;br /&gt;//&amp;nbsp;&amp;nbsp; otherwise, returns false.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool binaryTree&amp;lt;keyType, dataType&amp;gt;::search(const keyType &amp;amp;k) const&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; return search2(root, k); &lt;br /&gt;
}&lt;span style=&quot;color: lime;&quot;&gt; // end of public search&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//____________ Private search __________________&lt;br /&gt;// Searches for the item with same key as k &lt;br /&gt;// in the subtree pointed to by aRoot. Called&lt;br /&gt;// by public search.&lt;br /&gt;// Pre : k and aRoot are defined.&lt;br /&gt;// Returns true if key is located,&lt;br /&gt;// otherwise, returns false.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool binaryTree&amp;lt;keyType, dataType&amp;gt;::search2(NodePointer aRoot,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;const keyType &amp;amp;k)&amp;nbsp;&amp;nbsp;&amp;nbsp; const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (aRoot == NULL)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (k == aRoot-&amp;gt;key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (k &amp;lt; aRoot-&amp;gt;key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return search2(aRoot-&amp;gt;left, k); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return search2(aRoot-&amp;gt;right, k); &lt;br /&gt;
} &lt;span style=&quot;color: lime;&quot;&gt;// end of private search&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//____________ Public retrieve __________________&lt;br /&gt;// Searches for the item with same key as k&lt;br /&gt;//&amp;nbsp; and retrieves data part if found&lt;br /&gt;// Pre : k is defined.&lt;br /&gt;// Returns true if key is located,&lt;br /&gt;//&amp;nbsp;&amp;nbsp; otherwise, returns false.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool binaryTree&amp;lt;keyType, dataType&amp;gt;::retrieve(const keyType &amp;amp;k,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataType &amp;amp;d) const&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; return retrieve2(root, k, d); &lt;br /&gt;
} &lt;span style=&quot;color: lime;&quot;&gt;// end of public retrieve&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//____________ Private retrieve __________________&lt;br /&gt;// Searches for the item with same key as k &lt;br /&gt;// in the subtree pointed to by aRoot and retrieves&lt;br /&gt;// data part if key is found.Called by public retrieve.&lt;br /&gt;// Pre : k and aRoot are defined.&lt;br /&gt;// Returns true if key is located,&lt;br /&gt;// otherwise, returns false.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool binaryTree&amp;lt;keyType, dataType&amp;gt;::retrieve2(NodePointer aRoot,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;const keyType &amp;amp;k,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dataType &amp;amp;d)&amp;nbsp;&amp;nbsp;&amp;nbsp; const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (aRoot == NULL)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (k == aRoot-&amp;gt;key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { d = aRoot-&amp;gt;data; return true;} &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (k &amp;lt; aRoot-&amp;gt;key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return retrieve2(aRoot-&amp;gt;left, k, d); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return retrieve2(aRoot-&amp;gt;right,k, d); &lt;br /&gt;
} &lt;span style=&quot;color: lime;&quot;&gt;// end of private retrieve&lt;br /&gt;&lt;br /&gt;//____________ Public insert __________________&lt;br /&gt;// Inserts element into a binary search tree.&lt;br /&gt;// Pre : key k is defined.&lt;br /&gt;// Post: Inserts element if k is not in the tree.&lt;br /&gt;// Returns true if the insertion is performed.&lt;br /&gt;// If there is a node with the same key value &lt;br /&gt;// as k, returns false.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool binaryTree&amp;lt;keyType, dataType&amp;gt;::insert(const keyType &amp;amp;k, const dataType &amp;amp;d)&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return insert2 (root, k , d);&lt;br /&gt;
}&lt;span style=&quot;color: lime;&quot;&gt; // end of public insert&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;//____________ Private insert __________________&lt;br /&gt;// Inserts element in the tree pointed to by &lt;br /&gt;// aRoot.Called by public insert.&lt;br /&gt;// Pre : aRoot k and d are defined.&lt;br /&gt;// Post: If a node with same key as k is found,&lt;br /&gt;// returns false. If an empty tree is reached,&lt;br /&gt;// inserts element as a leaf node and returns true.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool binaryTree&amp;lt;keyType, dataType&amp;gt;::insert2(NodePointer &amp;amp;aRoot, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; const keyType &amp;amp;k, const dataType &amp;amp;d)&lt;br /&gt;
{&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; // Check for empty tree.&lt;br /&gt;
&amp;nbsp; if (aRoot == NULL)&lt;br /&gt;
&amp;nbsp; { // Attach new node&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; aRoot = new treeNode; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; aRoot-&amp;gt;left = NULL; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; aRoot-&amp;gt;right = NULL;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; aRoot-&amp;gt;key = k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; aRoot-&amp;gt;data = d;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
&amp;nbsp; else if (k == aRoot-&amp;gt;key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; else if (k &amp;lt; aRoot-&amp;gt;key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return insert2 (aRoot-&amp;gt;left, k, d); &lt;br /&gt;
&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return insert2 (aRoot-&amp;gt;right, k, d); &lt;br /&gt;
} &lt;span style=&quot;color: lime;&quot;&gt;// end of private insert&lt;br /&gt;&lt;br /&gt;//____________ Public empty __________________ &lt;br /&gt;// Check if tree is empty&lt;br /&gt;// Pre : none&lt;br /&gt;// Post: Returns true if tree is empty, false &lt;br /&gt;// otherwise&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
bool binaryTree&amp;lt;keyType, dataType&amp;gt;::empty() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; return(root == NULL);&lt;br /&gt;
}&lt;span style=&quot;color: lime;&quot;&gt; // end of empty&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//____________ Public traverse__________________ &lt;br /&gt;// Traverses a binary search tree in key order.&lt;br /&gt;// Pre : none&lt;br /&gt;// Post: Each element of the tree is displayed.&lt;br /&gt;// Elements are displayed in key order.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::traverse() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; traverse2 (root);&lt;br /&gt;
}&lt;span style=&quot;color: lime;&quot;&gt; // end of public traverse&lt;br /&gt;&lt;br /&gt;//____________ Private traverse__________________&lt;br /&gt;// Traverses the binary search tree pointed to&lt;br /&gt;// by aRoot in key order. Called by traverse.&lt;br /&gt;// Pre : aRoot is defined.&lt;br /&gt;// Post: displays each node in key order.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::traverse2 (NodePointer aRoot) const&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; if (aRoot != NULL)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; {&lt;span style=&quot;color: lime;&quot;&gt; // recursive in-order traversal&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; traverse2 (aRoot-&amp;gt;left);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; aRoot-&amp;gt;key &amp;lt;&amp;lt; &quot; &quot; &amp;lt;&amp;lt; aRoot-&amp;gt;data &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; traverse2 (aRoot-&amp;gt;right); &lt;br /&gt;
&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
} &lt;span style=&quot;color: lime;&quot;&gt;// end of private traverse&lt;br /&gt;&lt;br /&gt;//____Public pre-order traversal (Iterative)______&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::preorder () const&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Stackt&amp;lt;NodePointer&amp;gt; s;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer t = root;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; s.push(t);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!s.stackIsEmpty())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; s.pop(t); cout &amp;lt;&amp;lt; t-&amp;gt;key &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if ( t-&amp;gt;right != NULL ) s.push(t-&amp;gt;right);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if ( t-&amp;gt;left&amp;nbsp; != NULL ) s.push (t-&amp;gt;left);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//____Public Level-order traversal (Iterative)______&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::levelorder () const&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Queuet&amp;lt;NodePointer&amp;gt; q;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer t = root;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; q.enqueue(t);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!q.queueIsEmpty())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; q.dequeue(t); cout &amp;lt;&amp;lt; t-&amp;gt;key &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if ( t-&amp;gt;left&amp;nbsp; != NULL ) q.enqueue (t-&amp;gt;left);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if ( t-&amp;gt;right != NULL ) q.enqueue (t-&amp;gt;right);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//____________ Public graph__________________ &lt;br /&gt;// Graphic output of a BST&lt;br /&gt;// Pre : none&lt;br /&gt;// Post: Graphical representation is displayed.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::graph() const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; graph2 (0 , root);&lt;br /&gt;
}&lt;span style=&quot;color: lime;&quot;&gt;// end of public graph&lt;br /&gt;&lt;br /&gt;//____________ Private graph__________________ &lt;br /&gt;// Graphic output of a subtree pointed to by &lt;br /&gt;// aRoot with indent spaces&lt;br /&gt;// Pre : none&lt;br /&gt;// Post: Graphical representation is displayed.&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::graph2(int indent, NodePointer aRoot) const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (aRoot != NULL)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;span style=&quot;color: lime;&quot;&gt; // recursive in-order traversal&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graph2 (indent+8, aRoot-&amp;gt;right);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; setw(indent) &amp;lt;&amp;lt; &quot; &quot; &amp;lt;&amp;lt; aRoot-&amp;gt;key &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graph2 (indent+8, aRoot-&amp;gt;left); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;span style=&quot;color: lime;&quot;&gt;// end of private graph&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;//____________ Public remove __________________&lt;br /&gt;// Remove an element from the binary search tree&lt;br /&gt;// Pre : k is defined.&lt;br /&gt;// Post: if k is present, its node will be&lt;br /&gt;// removed and tree will be modified&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::remove (const keyType &amp;amp;k)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bool found;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer x,parent;&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Search for element and its parent&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; parentSearch (k, found, x, parent);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!found)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Item not in BST\n&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // else, element is found&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((x-&amp;gt;left != NULL)&amp;amp;&amp;amp;(x-&amp;gt;right != NULL))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Node has two children&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Find inorder successor and its parent&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer xSucc = x-&amp;gt;right;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; parent = x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while (xSucc-&amp;gt;left != NULL) // descend left&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; { parent = xSucc; xSucc = xSucc-&amp;gt;left; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Move contents of xSucc to x and change x&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // to point to successor, which will be removed&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; x-&amp;gt;key = xSucc-&amp;gt;key; x-&amp;gt;data = xSucc-&amp;gt;data;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; x = xSucc;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;span style=&quot;color: lime;&quot;&gt;// end if node has two children&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Now, node has 0 or 1 child&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer subtree = x-&amp;gt;left; // subtree of x&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (subtree == NULL) subtree = x-&amp;gt;right;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parent == NULL) root = subtree; //remove root&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (parent-&amp;gt;left == x) //parent left child &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; parent-&amp;gt;left = subtree;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else parent-&amp;gt;right = subtree; // right child&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; delete x;&lt;br /&gt;
}&lt;span style=&quot;color: lime;&quot;&gt; // end of public remove&lt;br /&gt;&lt;br /&gt;//____________ Private parentSearch __________________&lt;br /&gt;// Locate a node containing key k and its parent&lt;br /&gt;// Pre : none.&lt;br /&gt;// Post: locptr points to node containing k&lt;br /&gt;// or is NULL if not found, and parent points to &lt;br /&gt;// its parent. Used by remove&lt;/span&gt;&lt;br /&gt;
template &amp;lt;class keyType, class dataType&amp;gt;&lt;br /&gt;
void binaryTree&amp;lt;keyType, dataType&amp;gt;::parentSearch (const keyType &amp;amp;k, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bool &amp;amp;found, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer &amp;amp;locptr,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer &amp;amp;parent) const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; locptr = root;&amp;nbsp; parent = NULL; found = false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!found &amp;amp;&amp;amp; locptr != NULL)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (k &amp;lt; locptr-&amp;gt;key) // descend left&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; parent = locptr;&amp;nbsp;&amp;nbsp;&amp;nbsp; locptr = locptr-&amp;gt;left;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else if (locptr-&amp;gt;key &amp;lt; k) // descend right&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; parent = locptr;&amp;nbsp;&amp;nbsp;&amp;nbsp; locptr = locptr-&amp;gt;right;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else found = true; // el found&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;span style=&quot;color: lime;&quot;&gt;// end while&lt;/span&gt;&lt;br /&gt;
} &lt;span style=&quot;color: lime;&quot;&gt;// end of private parentSearch&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/4226466655674197951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-binarytree.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4226466655674197951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4226466655674197951'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-binarytree.html' title='C++ classes: BinaryTree'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-1226548796857920842</id><published>2012-11-15T21:57:00.002+02:00</published><updated>2012-11-15T22:11:00.713+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: Queue (Using linked list)</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;// File: QueueL.h&lt;br /&gt;// Linked List Queue class definition&lt;/span&gt;&lt;br /&gt;#ifndef QUEUEL_H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;#define QUEUEL_H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;&lt;br /&gt;class QueueL&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QueueL();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Constructor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ~QueueL();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Destructor&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void enqueue(Type );&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Add to rear&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void dequeue(Type &amp;amp;);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Remove from front&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void queueFront(Type &amp;amp;) const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// retrieve front&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool queueIsEmpty() const;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Test for Empty queue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; int&amp;nbsp; queueLength() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Queue Length&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// Node Class&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; class node&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Type e;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // queue element&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; node *next;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// pointer to next node&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;span style=&quot;color: lime;&quot;&gt;// end of class node declaration&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; typedef node * NodePointer;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer front , rear;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // Pointers&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int count;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// length&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}; &lt;br /&gt;&lt;br /&gt;#endif &lt;span style=&quot;color: lime;&quot;&gt;// QUEUEL_H&lt;/span&gt;&lt;br /&gt;#include &quot;QueueL.cpp&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;// File:QueueL.cpp&lt;br /&gt;// Linked List Queue Class implementation&lt;/span&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// Class Constructor&lt;/span&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;QueueL&amp;lt;Type&amp;gt;::QueueL()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; front = NULL; rear = NULL; count = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Class Destructor&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;QueueL&amp;lt;Type&amp;gt;::~QueueL()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer cursor;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(front != NULL) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = front;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; front = front-&amp;gt;next;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; delete cursor;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&lt;br /&gt;// Add a node with data (v) at the rear of the queue; &lt;br /&gt;// the new node becomes the rear node.&lt;/span&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;void QueueL&amp;lt;Type&amp;gt;::enqueue(Type v)&lt;br /&gt;{ &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer pnew = new node; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;e = v;&amp;nbsp; pnew-&amp;gt;next = NULL;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(queueIsEmpty()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { front = pnew; rear = pnew;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { rear-&amp;gt;next = pnew; rear = pnew; }&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count++; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// dequeue front node. Next node becomes front node.&lt;/span&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;void QueueL&amp;lt;Type&amp;gt;::dequeue(Type &amp;amp;v)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer cursor;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(queueIsEmpty()) cout &amp;lt;&amp;lt; &quot;Queue is Empty&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; v = front-&amp;gt;e; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = front;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; front = front-&amp;gt;next;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; delete cursor;&amp;nbsp; count--;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// Retrieve front node without removing it&lt;/span&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;void QueueL&amp;lt;Type&amp;gt;::queueFront(Type &amp;amp;v) const&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer cursor;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(queueIsEmpty()) cout &amp;lt;&amp;lt; &quot;Queue is Empty&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else { v = front-&amp;gt;e; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// return True if queue is empty&lt;/span&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;bool QueueL&amp;lt;Type&amp;gt;::queueIsEmpty() const&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (count == 0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;// Queue Length&lt;/span&gt;&lt;br /&gt;template &amp;lt;class Type&amp;gt;&lt;br /&gt;int QueueL&amp;lt;Type&amp;gt;::queueLength() const&lt;br /&gt;{ return count; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;// File: QueueLAppl.cpp&lt;br /&gt;// Applies Linked List Queue Class to a string&lt;/span&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;string&amp;gt;&lt;br /&gt;using namespace std;&lt;br /&gt;#include &quot;QueueL.h&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; QueueL&amp;lt;char&amp;gt; q;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string instring, outstring;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; q.queueLength() &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read a string&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter a string:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; getline(cin,instring);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; instring &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; outstring = &quot;&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; instring.length(); i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; c = instring.at(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; q.enqueue(toupper(c));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; q.queueLength() &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!q.queueIsEmpty()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; q.dequeue(c); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; outstring = outstring + c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; outstring &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; q.queueLength() &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/1226548796857920842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-queue-using-linked-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1226548796857920842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/1226548796857920842'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-queue-using-linked-list.html' title=' C++ classes: Queue (Using linked list)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-4698374177027093031</id><published>2012-11-15T21:38:00.001+02:00</published><updated>2012-11-20T04:59:33.201+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: Time</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;//File: Time.h&amp;nbsp; Time Class Header File&lt;/span&gt;&lt;br /&gt;#ifndef TIME_H&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// used to avoid multiple definitions &lt;/span&gt;&lt;br /&gt;#define TIME_H&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// not part of the class&lt;/span&gt;&lt;br /&gt;class Time&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Time();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// constructor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ~Time(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: lime;&quot;&gt; // destructor&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Function prototypes&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; void setTime(int, int, int );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; void displayTime() const;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int hour, minute, second; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}; &lt;span style=&quot;color: lime;&quot;&gt;// a semicolon must appear here&lt;/span&gt;&lt;br /&gt;#endif&amp;nbsp; &lt;span style=&quot;color: lime;&quot;&gt;// TIME_H&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: lime;&quot;&gt;//File: Time.cpp&amp;nbsp; Time Class Implementation File&lt;/span&gt;&lt;br /&gt;
#include &quot;Time.h&quot;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
Time::Time()&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; hour = minute = second = 0; }&lt;br /&gt;
&lt;br /&gt;
Time::~Time()&lt;br /&gt;
{ }&lt;br /&gt;
&lt;br /&gt;
void Time::setTime(int h, int m, int s)&lt;br /&gt;
&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hour&amp;nbsp;&amp;nbsp; = (h &amp;gt;= 0 &amp;amp;&amp;amp; h &amp;lt; 24) ? h : 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; minute = (m &amp;gt;= 0 &amp;amp;&amp;amp; m &amp;lt; 60) ? m : 0; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; second = (s &amp;gt;= 0 &amp;amp;&amp;amp; s &amp;lt; 60) ? s : 0;&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
void Time::displayTime() const&lt;br /&gt;
{ cout &amp;lt;&amp;lt; hour &amp;lt;&amp;lt; &quot;:&quot; &amp;lt;&amp;lt; minute &amp;lt;&amp;lt; &quot;:&quot; &amp;lt;&amp;lt; second &amp;lt;&amp;lt; endl; }&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: lime;&quot;&gt;//File: TimeAppl.cpp&amp;nbsp; Time Class Application File&lt;/span&gt;&lt;br /&gt;#include &quot;Time.h&quot;&lt;br /&gt;#include &quot;Time.cpp&quot;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;using namespace std;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time t1 , t2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Start Time is: &quot;; &amp;nbsp;&amp;nbsp;&amp;nbsp; t1.displayTime();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t2.setTime(5, 10, 30);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;End Time is: &quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp; t2.displayTime();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;} &lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/4698374177027093031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4698374177027093031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/4698374177027093031'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-time.html' title=' C++ classes: Time'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-956622297674080723</id><published>2012-11-15T21:23:00.001+02:00</published><updated>2012-11-15T22:11:21.528+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: stack(Using dynamic array)</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________ &lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
// File: Stackt.h&lt;br /&gt;
// Stack template class definition. &lt;br /&gt;
// Dynamic array implementation &lt;br /&gt;
&lt;br /&gt;
#ifndef STACKT_H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
#define STACKT_H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class Stackt&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stackt(int nelements = 128);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Constructor&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; Stackt (const Stackt&amp;lt;Type&amp;gt; &amp;amp;);&amp;nbsp;&amp;nbsp;&amp;nbsp; // Copy Constructor&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ~Stackt();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Destructor&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // Member Functions&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void push(Type );&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Push&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void pop(Type &amp;amp;);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Pop&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void stackTop(Type &amp;amp;) const;&amp;nbsp;&amp;nbsp;&amp;nbsp; // retrieve top&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool stackIsEmpty() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Test for Empty stack&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool stackIsFull() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Test for Full stack&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type *stack;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // pointer to dynamic array&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; int top, MaxSize;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
}; &lt;br /&gt;
&lt;br /&gt;
#endif // STACKT_H&lt;br /&gt;
#include &quot;Stackt.cpp&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
// File: Stackt.cpp&lt;br /&gt;
// Stack template class implementation&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Constructor with argument, size is nelements, default is 128&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
Stackt&amp;lt;Type&amp;gt;::Stackt(int nelements)&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&amp;nbsp; MaxSize = nelements; stack = new Type[MaxSize];&amp;nbsp; top = -1; }&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
// Copy Constructor&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
Stackt &amp;lt;Type&amp;gt;::Stackt(const Stackt&amp;lt;Type&amp;gt; &amp;amp;original)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; :MaxSize(original.MaxSize), top(original.top) &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; stack = new Type[MaxSize];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt;= top; i++) stack[i] = original.stack[i];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Destructor&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
Stackt&amp;lt;Type&amp;gt;::~Stackt()&lt;br /&gt;
{ delete [] stack;}&lt;br /&gt;
&lt;br /&gt;
// Push&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void Stackt&amp;lt;Type&amp;gt;::push(Type v)&lt;br /&gt;
{ &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(stackIsFull()) cout &amp;lt;&amp;lt; &quot;Stack Overflow&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else stack[++top] = v; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Pop&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void Stackt&amp;lt;Type&amp;gt;::pop(Type &amp;amp;v)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(stackIsEmpty()) cout &amp;lt;&amp;lt; &quot;Stack Underflow&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else v = stack[top--]; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Retrieve stack top without removing it&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void Stackt&amp;lt;Type&amp;gt;::stackTop(Type &amp;amp;v) const&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(stackIsEmpty()) cout &amp;lt;&amp;lt; &quot;Stack Underflow&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else v = stack[top]; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Test for Empty stack&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
bool Stackt&amp;lt;Type&amp;gt;::stackIsEmpty() const&lt;br /&gt;
{ return (top &amp;lt; 0); }&lt;br /&gt;
&lt;br /&gt;
// Test for Full stack&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
bool Stackt&amp;lt;Type&amp;gt;::stackIsFull() const&lt;br /&gt;
{ return (top &amp;gt;= (MaxSize-1)); }&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;// File: StacktAppl.cpp&lt;br /&gt;// Applies Stack template Class to reverse a string&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;string&amp;gt;&lt;br /&gt;using namespace std;&lt;br /&gt;#include &quot;Stackt.h&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main()&amp;nbsp; // Testing he Stackt Class &lt;br /&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Reverse a string and stack copy&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stackt&amp;lt;char&amp;gt; s1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string instring = &quot;Testing Stack Class&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string outstring = &quot;&quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; instring &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int L = instring.length();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Pushing characters on s1\n&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; L; i++) s1.push(instring.at(i));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Copying s1 to s2\n&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stackt&amp;lt;char&amp;gt; s2 = s1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Popping characters from s1\n&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!s1.stackIsEmpty()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { s1.pop(c); outstring = outstring + c;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; outstring &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt;&quot;s1 is now empty. Trying to pop from empty s1\n&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s1.pop(c);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Now popping contents of s2&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!s2.stackIsEmpty()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { s2.pop(c); cout &amp;lt;&amp;lt; c;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/956622297674080723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-stackusing-dynamic-array.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/956622297674080723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/956622297674080723'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-stackusing-dynamic-array.html' title=' C++ classes: stack(Using dynamic array)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-2141567638662413218</id><published>2012-11-15T21:15:00.003+02:00</published><updated>2012-11-15T22:11:26.278+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'> C++ classes: Stack (using linked list)</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________ &lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;// File: StackL.h&lt;br /&gt;// Linked List Stack class definition&lt;/span&gt;&lt;br /&gt;
#ifndef STACKL_H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
#define STACKL_H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class StackL&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StackL();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// Constructor&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ~StackL();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt;&amp;nbsp; // Destructor&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void push(Type );&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt; // Push&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void pop(Type &amp;amp;);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt;&amp;nbsp; // Pop&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; void stackTop(Type &amp;amp;) const;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt; // retrieve top&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool stackIsEmpty() const;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt; // Test for Empty stack&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// Node Class&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; class node&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Type e;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// stack element&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; node *next;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt; // pointer to next node&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }; // end of class node declaration&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; typedef node * NodePointer;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer top;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// pointer to top&lt;/span&gt;&lt;br /&gt;
}; &lt;br /&gt;
#endif // STACKL_H&lt;br /&gt;
#include &quot;StackL.cpp&quot;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
// File:StackL.cpp&lt;br /&gt;
// Linked List Stack Class implementation&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
// Class Constructor&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
StackL&amp;lt;Type&amp;gt;::StackL()&lt;br /&gt;
{ top = NULL; }&lt;br /&gt;
&lt;br /&gt;
// Class Destructor&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
StackL&amp;lt;Type&amp;gt;::~StackL()&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while(top != NULL) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = top;&amp;nbsp;&amp;nbsp;&amp;nbsp; top = top-&amp;gt;next;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; delete cursor; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// return True if stack is empty&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
bool StackL&amp;lt;Type&amp;gt;::stackIsEmpty() const&lt;br /&gt;
{ return (top == NULL);}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// push a node with data (v) at the top of the stack; &lt;br /&gt;
// the new node becomes the top node.&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void StackL&amp;lt;Type&amp;gt;::push(Type v)&lt;br /&gt;
{ &amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer pnew = new node ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pnew-&amp;gt;e = v; pnew-&amp;gt;next = top; top = pnew; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Pop top node. Next node becomes top node.&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void StackL&amp;lt;Type&amp;gt;::pop(Type &amp;amp;v)&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(stackIsEmpty()) cout &amp;lt;&amp;lt; &quot;Stack Underflow&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { v = top-&amp;gt;e; cursor = top;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; top = top-&amp;gt;next; delete cursor; }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Retrieve top node without removing it&lt;br /&gt;
template &amp;lt;class Type&amp;gt;&lt;br /&gt;
void StackL&amp;lt;Type&amp;gt;::stackTop(Type &amp;amp;v) const&lt;br /&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp; NodePointer cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(stackIsEmpty()) cout &amp;lt;&amp;lt; &quot;Stack Underflow&quot; &amp;lt;&amp;lt; endl; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { v = top-&amp;gt;e; }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;// File: StackLAppl.cpp&lt;br /&gt;// Applies Linked List Stack Class to reverse a string&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;string&amp;gt;&lt;br /&gt;using namespace std;&lt;br /&gt;#include &quot;StackL.h&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; StackL&amp;lt;char&amp;gt; s;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string instring, outstring;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read a string&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter a string:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; getline(cin,instring);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; instring &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; outstring = &quot;&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; instring.length(); i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; c = instring.at(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; s.push(c);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!s.stackIsEmpty()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; s.pop(c); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; outstring = outstring + c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; outstring &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.~StackL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/2141567638662413218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-stack-using-linked-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2141567638662413218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/2141567638662413218'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-stack-using-linked-list.html' title=' C++ classes: Stack (using linked list)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-6195397150425411665</id><published>2012-11-15T20:57:00.001+02:00</published><updated>2012-11-15T22:11:32.404+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ clases"/><title type='text'>C++ classes: Rational </title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;First:&lt;/span&gt; Header file.h (functions prototype).&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;____________________________________ &lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #6aa84f;&quot;&gt;// File: Rational.h&lt;br /&gt;// Rational class definition&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#ifndef RATIONAL_H&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// used to avoid multiple definitions &lt;/span&gt;&lt;br /&gt;
#define RATIONAL_H&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; not part of the class&lt;/span&gt;&lt;br /&gt;
class rational&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; public:&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; // Member functions&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Constructors&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// Default Costructor&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational(int);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// Initialize numerator with denom = 1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational(int, int);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Initialize both numerator and denom&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; void setNum(int);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// Set numerator and denominator&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; void setDenom(int);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational multiply(const rational &amp;amp;f);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Multiply fractions&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational divide(const rational &amp;amp;f);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Divide fractions&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational add(const rational &amp;amp;f);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// Add Fractions&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational subtract(const rational &amp;amp;f);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Subtract Fractions&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; void readRational();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// Read a fraction&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; void displayRational() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Display a fraction&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational reduce() const;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; // Reduce rational&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; // Accessors&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int getNum() const;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int getDenom() const;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; // Operator Style&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rational operator + (const rational &amp;amp;); &lt;span style=&quot;color: #38761d;&quot;&gt;// Add object to parameter&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bool operator == (const rational &amp;amp;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Test equality of object and parameter&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; private:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // Data members (attributes)&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int num;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; //&amp;nbsp; private data field&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int denom;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// private data field&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
};&amp;nbsp;&amp;nbsp;&amp;nbsp; /&lt;span style=&quot;color: #38761d;&quot;&gt;/ Note -- a class definition MUST end with a semicolon&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
#endif&lt;span style=&quot;color: #38761d;&quot;&gt; // RATIONAL_H&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;second: &lt;span style=&quot;color: black;&quot;&gt;Implementation file.cpp&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// File: Rational.cpp&lt;br /&gt;// Rational class implementation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#include &quot;rational.h&quot;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Member functions&lt;br /&gt;// Constructors&lt;/span&gt;&lt;br /&gt;rational::rational()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; num = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp; denom = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;rational::rational(int n)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; num = n;&lt;br /&gt;&amp;nbsp;&amp;nbsp; denom = 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;rational::rational(int n, int d)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; num = n;&lt;br /&gt;&amp;nbsp;&amp;nbsp; denom = d;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Set numerator and denominator&lt;/span&gt;&lt;br /&gt;void rational::setNum(int n)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; num = n;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void rational::setDenom(int d)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; denom = d;&lt;br /&gt;}&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Multiply fractions&lt;/span&gt;&lt;br /&gt;rational rational::multiply(const rational &amp;amp;f)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; rational temp(num * f.num, denom * f.denom);&lt;br /&gt;&amp;nbsp;&amp;nbsp; return temp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Divide fractions&lt;/span&gt;&lt;br /&gt;rational rational::divide(const rational &amp;amp;f)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; rational temp(num * f.denom, denom * f.num);&lt;br /&gt;&amp;nbsp;&amp;nbsp; return temp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Add fractions&lt;/span&gt;&lt;br /&gt;rational rational::add(const rational &amp;amp;f)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; rational temp(num * f.denom + f.num * denom,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; denom * f.denom);&lt;br /&gt;&amp;nbsp;&amp;nbsp; return temp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Subtract Fractions&lt;/span&gt;&lt;br /&gt;rational rational::subtract(const rational &amp;amp;f) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; rational temp(num * f.denom - f.num * denom,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; denom * f.denom);&lt;br /&gt;&amp;nbsp;&amp;nbsp; return temp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Read a fraction&lt;/span&gt;&lt;br /&gt;void rational::readRational()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; char slash;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;// storage for /&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; do&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter numerator / denominator: &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cin &amp;gt;&amp;gt; num &amp;gt;&amp;gt; slash &amp;gt;&amp;gt; denom;&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; while (slash != &#39;/&#39;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Display a fraction&lt;br /&gt;void rational::displayRational() const&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; num &amp;lt;&amp;lt; &#39;/&#39; &amp;lt;&amp;lt; denom;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Reduce rational&lt;br /&gt;rational rational::reduce() const&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; int n,m,rem,gcd;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Get the two integers&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;n = abs(num);&amp;nbsp; m = abs(denom);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (n &amp;gt; 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;rem = m % n;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;m = n;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;n = rem;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;gcd = m;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rational g(num/gcd,&amp;nbsp;&amp;nbsp; &amp;nbsp;denom/gcd);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return g;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Accessors&lt;br /&gt;int rational::getNum() const&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; return num;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int rational::getDenom() const&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; return denom;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;rational rational::operator + (const rational &amp;amp;f2)&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; // IN: right-operand&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; rational temp(num * f2.denom + f2.num * denom,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; denom * f2.denom);&lt;br /&gt;&amp;nbsp;&amp;nbsp; return temp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;bool rational::operator == (const rational &amp;amp;f)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; return(num == f.num &amp;amp;&amp;amp; denom == f.denom);&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;________________________________________________&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;finally &lt;span style=&quot;color: black;&quot;&gt;class test &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;_____________________________________&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: cyan;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// File: RationalTest.cpp&lt;br /&gt;// Tests the rational class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &quot;rational.h&quot;&lt;br /&gt;#include &quot;rational.cpp&quot;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rational f1, f2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rational f3;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read two rational numbers&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter 1st fraction:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1.readRational();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot;Enter 2nd fraction:&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2.readRational();&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Fraction Arithmetic&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f1.multiply(f2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1.displayRational(); cout &amp;lt;&amp;lt; &quot; * &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2.displayRational(); cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f3.reduce();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); cout &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f1.divide(f2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1.displayRational(); cout &amp;lt;&amp;lt; &quot; / &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2.displayRational(); cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f3.reduce();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); cout &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f1.add(f2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1.displayRational(); cout &amp;lt;&amp;lt; &quot; + &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2.displayRational(); cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f3.reduce();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); cout &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f1 + f2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1.displayRational(); cout &amp;lt;&amp;lt; &quot; + &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2.displayRational(); cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f3.reduce();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); cout &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f1.subtract(f2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1.displayRational(); cout &amp;lt;&amp;lt; &quot; - &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2.displayRational(); cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &quot; = &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3 = f3.reduce();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f3.displayRational(); cout &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/6195397150425411665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-rational.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/6195397150425411665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/6195397150425411665'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/11/c-classes-rational.html' title='C++ classes: Rational '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8056327108722367722.post-8930293179834150194</id><published>2012-04-05T21:42:00.000+02:00</published><updated>2012-11-18T04:14:10.233+02:00</updated><title type='text'>First order DE: Homogeneous equations</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;color: cyan; text-align: left;&quot;&gt;



First order DE: Homogeneous equations &lt;/h3&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;color: lime;&quot;&gt;
General form:&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;

&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
Example:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
By taking x&lt;sup&gt;3&lt;/sup&gt; from the
first part and the second part as a common factor.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt; &lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://egsci.blogspot.com/feeds/8930293179834150194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://egsci.blogspot.com/2012/04/first-order-de-homogeneous-equations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/8930293179834150194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8056327108722367722/posts/default/8930293179834150194'/><link rel='alternate' type='text/html' href='http://egsci.blogspot.com/2012/04/first-order-de-homogeneous-equations.html' title='First order DE: Homogeneous equations'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>