<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-4%3Arbha033</id>
	<title>SE250:lab-4:rbha033 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-4%3Arbha033"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-4:rbha033&amp;action=history"/>
	<updated>2026-05-01T20:51:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE250:lab-4:rbha033&amp;diff=6165&amp;oldid=prev</id>
		<title>Mark: 20 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-4:rbha033&amp;diff=6165&amp;oldid=prev"/>
		<updated>2008-11-03T05:19:36Z</updated>

		<summary type="html">&lt;p&gt;20 revision(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Lab 4 =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Task 1 ==&lt;br /&gt;
So here&amp;#039;s my code for the &amp;#039;&amp;#039;&amp;#039;length(Cons* list)&amp;#039;&amp;#039;&amp;#039; function:&lt;br /&gt;
 int length(Cons* list){&lt;br /&gt;
     int i=0;&lt;br /&gt;
     if(list-&amp;gt;tail == nil){&lt;br /&gt;
 	return 0;&lt;br /&gt;
     }&lt;br /&gt;
     else for(; list != nil; list = list-&amp;gt;tail){&lt;br /&gt;
 	i=i+1;&lt;br /&gt;
     }&lt;br /&gt;
     return i;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
After writing this code, I was told that I needed to copy the &amp;#039;&amp;#039;&amp;#039;&amp;quot;test_LL()&amp;quot;&amp;#039;&amp;#039;&amp;#039; function above the &amp;#039;&amp;#039;&amp;#039;&amp;quot;main()&amp;quot;&amp;#039;&amp;#039;&amp;#039; function. The compiler gives an error if the function is below the &amp;#039;&amp;#039;&amp;#039;&amp;quot;main()&amp;quot;&amp;#039;&amp;#039;&amp;#039; function.&lt;br /&gt;
I was also given a tip that I should exclude the test cases in the &amp;#039;&amp;#039;&amp;#039;&amp;quot;test_LL()&amp;quot;&amp;#039;&amp;#039;&amp;#039; function which are not yet applicable. To do this we use &amp;#039;&amp;#039;&amp;#039;&amp;quot;#if 0&amp;quot;&amp;#039;&amp;#039;&amp;#039; before the first line of code you want to ignore and &amp;#039;&amp;#039;&amp;#039;&amp;quot;#endif&amp;quot;&amp;#039;&amp;#039;&amp;#039; after the last line of code that needs to be ignored. Anything (block of code) between the two statements will be ignored.&lt;br /&gt;
&lt;br /&gt;
== Task 2 ==&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s my code for task 2:&lt;br /&gt;
 element_t first(Cons* list){&lt;br /&gt;
      return list-&amp;gt;head;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 element_t second(Cons* list){&lt;br /&gt;
     return list-&amp;gt;tail-&amp;gt;head;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 element_t third(Cons* list){&lt;br /&gt;
     return list-&amp;gt;tail-&amp;gt;tail-&amp;gt;head;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 element_t fourth(Cons* list){&lt;br /&gt;
     return list-&amp;gt;tail-&amp;gt;tail-&amp;gt;tail-&amp;gt;head;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Now we dont need to have a check as any empty cell will have head = 0. If there&amp;#039;s something stored, it&amp;#039;ll show up, otherwise it&amp;#039;ll show 0.&lt;br /&gt;
&lt;br /&gt;
== Task 3 ==&lt;br /&gt;
 element_t nth(int i, Cons* list){&lt;br /&gt;
     int counter;&lt;br /&gt;
     element_t element;    &lt;br /&gt;
     for(counter=0; counter&amp;lt;=i; counter++){&lt;br /&gt;
 	element=list-&amp;gt;head;&lt;br /&gt;
 	list=list-&amp;gt;tail;&lt;br /&gt;
 }&lt;br /&gt;
     return element;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Task 4 ==&lt;br /&gt;
== Task 5 ==&lt;br /&gt;
== Task 6 ==&lt;br /&gt;
== Task 7 ==&lt;br /&gt;
== Task 8 ==&lt;br /&gt;
== Task 9 ==&lt;br /&gt;
== Task 10 ==&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>