diff --git a/lab13/rabbit.js b/lab13/rabbit.js index 8dc4e8b..5467cad 100644 --- a/lab13/rabbit.js +++ b/lab13/rabbit.js @@ -1,9 +1,11 @@ -name = "Monty"; +/*global console*/ +/*jslint this*/ +var name = "Monty"; +var r = new Rabbit("Python"); + function Rabbit(name) { - this.name = name; + this.name = name; } -var r = Rabbit("Python"); console.log(r.name); // ERROR!!! console.log(name); // Prints "Python" - diff --git a/lab13/rabbit.ts b/lab13/rabbit.ts new file mode 100644 index 0000000..c9286a1 --- /dev/null +++ b/lab13/rabbit.ts @@ -0,0 +1,15 @@ +// rabbit.ts + +class Rabbit { + name: string; + + constructor(name: string) { + this.name = name; + } +} + +let myName: string = "Monty"; +let r: Rabbit = new Rabbit("Python"); + +console.log(r.name); // ERROR!!! +console.log(myName); // Prints "Python" diff --git a/lab13/sortAndGetLargest.js b/lab13/sortAndGetLargest.js index 54d5994..0001ac1 100644 --- a/lab13/sortAndGetLargest.js +++ b/lab13/sortAndGetLargest.js @@ -1,15 +1,28 @@ -function swap(arr,i,j) { - tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; -} -function sortAndGetLargest (arr) { - tmp = arr[0]; // largest elem - for (i=0; i tmp) tmp = arr[i]; - for (j=i+1; j tmp) { + tmp = arr[i]; + } + for (j = i + 1; j < arr.length; j += 1) { + if (arr[i] < arr[j]) { + swap(arr, i, j); + } + } + } + return tmp; +} + +console.log(largest); // should be 99, but prints 0 diff --git a/lab13/sortAndGetLargest.ts b/lab13/sortAndGetLargest.ts new file mode 100644 index 0000000..5edbabb --- /dev/null +++ b/lab13/sortAndGetLargest.ts @@ -0,0 +1,28 @@ +// sortAndGetLargest.ts + +function swap(arr: number[], i: number, j: number): void { + const tmp: number = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} + +function sortAndGetLargest(arr: number[]): number { + if (arr.length === 0) { + throw new Error("Array must not be empty"); + } + + // Sort the array in descending order + for (let i = 0; i < arr.length; i += 1) { + for (let j = i + 1; j < arr.length; j += 1) { + if (arr[i] < arr[j]) { + swap(arr, i, j); + } + } + } + + // The largest element is now at index 0 + return arr[0]; +} + +const largest: number = sortAndGetLargest([99, 2, 43, 8, 0, 21, 12]); +console.log(largest); // should be 99, but prints 0