From 8733d7099cd11c56d1c53b1f960565c7768dd9bf Mon Sep 17 00:00:00 2001 From: Caleb Fontenot Date: Thu, 12 Jan 2023 09:09:48 -0600 Subject: [PATCH] submission files --- .../lab-2D-arrays-sort_CalebFontenot.html | 117 +++++++++++ .../lab-2D-arrays_CalebFontenot.html | 190 ++++++++---------- .../ZIPs/lab-2D-arrays-sort_CalebFontenot.zip | Bin 0 -> 5780 bytes .../ZIPs/lab-2D-arrays_CalebFontenot.zip | Bin 657104 -> 656702 bytes 4 files changed, 205 insertions(+), 102 deletions(-) create mode 100644 Semester 2/Assignments/lab-2D-arrays-sort_CalebFontenot/lab-2D-arrays-sort_CalebFontenot.html create mode 100644 Semester 2/ZIPs/lab-2D-arrays-sort_CalebFontenot.zip diff --git a/Semester 2/Assignments/lab-2D-arrays-sort_CalebFontenot/lab-2D-arrays-sort_CalebFontenot.html b/Semester 2/Assignments/lab-2D-arrays-sort_CalebFontenot/lab-2D-arrays-sort_CalebFontenot.html new file mode 100644 index 0000000..455b44d --- /dev/null +++ b/Semester 2/Assignments/lab-2D-arrays-sort_CalebFontenot/lab-2D-arrays-sort_CalebFontenot.html @@ -0,0 +1,117 @@ + + + +Lab2DArraysSort_CalebFontenot.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/lab-2D-arrays-sort_CalebFontenot/src/main/java/com/calebfontenot/lab/d/arrays/sort_calebfontenot/Lab2DArraysSort_CalebFontenot.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ */
+package com.calebfontenot.lab.d.arrays.sort_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+public class Lab2DArraysSort_CalebFontenot {
+
+    public static int maxNumberOfColumnsInJagged2dArray(char[][] ar) {
+        int maxNumberOfColumns = 0;
+        for (int row = 0; row < ar.length; ++row) {
+            if (ar[row].length > maxNumberOfColumns) {
+                maxNumberOfColumns = ar[row].length;
+            }
+        }
+
+        return maxNumberOfColumns;
+    }
+
+    public static void printColumnMajorOrder(char[][] ar) {
+        int row = 0;
+        int column = 0;
+        int max = maxNumberOfColumnsInJagged2dArray(ar);
+        for (column = 0; column < max; ++column) {
+            for (row = 0; row < ar.length; ++row) {
+                if (column < ar[row].length) {
+                    System.out.print(ar[row][column] + " ");
+                }
+            }
+            System.out.println("");
+        }
+    }
+
+    /**
+     * Prints row by row
+     *
+     * @param ar
+     */
+    public static void printRowMajorOrder(char[][] ar)//normal
+    {
+        for (int x = 0; x < ar.length; ++x) {
+            for (int y = 0; y < ar[x].length; ++y) {
+                System.out.print(ar[x][y] + "");
+            }
+            System.out.println();
+        }
+
+    }
+
+    /**
+     * Sorts the methods in ascending order using Selection Sort
+     *
+     * @param names the names to be sorted
+     */
+    public static void sortNames(char[][] names) {
+        for (int i = 0; i < names.length - 1; ++i) {
+            for (int j = i + 1; j < names.length; ++j) {
+                char compChar1 = names[i][0], compChar2 = names[j][0];
+                // Reoder entire row
+                for (int rowIterate = 0; rowIterate < maxNumberOfColumnsInJagged2dArray(names); ++rowIterate) {
+                    if (Character.toLowerCase(compChar1) > Character.toLowerCase(compChar2)) {
+                        char[] temp = names[i];
+                        names[i] = names[j];
+                        names[j] = temp;
+                    }
+                }
+            }
+        }
+    }
+    public static void main(String[] args) {
+        char[][] names = {
+            {'j', 'o', 'h', 'n'},
+            {'a', 'n'},
+            {'b', 'y', 'r', 'o', 'n'},};
+        //printColumnMajorOrder(names);
+        printRowMajorOrder(names);
+        System.out.println();
+        sortNames(names);
+        printRowMajorOrder(names);
+        //printColumnMajorOrder(names);
+
+    }
+
+}
+
+
+ diff --git a/Semester 2/Assignments/lab-2D-arrays_CalebFontenot/lab-2D-arrays_CalebFontenot.html b/Semester 2/Assignments/lab-2D-arrays_CalebFontenot/lab-2D-arrays_CalebFontenot.html index deef3ea..73ba1e7 100644 --- a/Semester 2/Assignments/lab-2D-arrays_CalebFontenot/lab-2D-arrays_CalebFontenot.html +++ b/Semester 2/Assignments/lab-2D-arrays_CalebFontenot/lab-2D-arrays_CalebFontenot.html @@ -9,16 +9,10 @@ body {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace; font-we pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace; font-weight: bold} table {color: #888888; background-color: #313335; font-family: monospace; font-weight: bold} .literal {color: #cc7832} -.ST3 {font-family: monospace; font-weight: bold; font-style: italic} -.ST0 {color: #287bde} -.string {color: #6a8759} .number {color: #6897bb} -.ST5 {color: #9876aa} -.ST1 {color: #8a653b} +.string {color: #6a8759} .comment {color: #808080} .whitespace {color: #505050} -.ST2 {color: #ffc66d; font-family: monospace; font-weight: bold; font-style: italic} -.ST4 {color: #9876aa; font-family: monospace; font-weight: bold; font-style: italic} --> @@ -26,8 +20,8 @@ table {color: #888888; background-color: #313335; font-family: monospace; font-w
/home/caleb/ASDV-Java/Semester 2/Assignments/lab-2D-arrays_CalebFontenot/src/main/java/com/calebfontenot/lab/d/arrays_calebfontenot/Lab2DArrays_CalebFontenot.java
 /*
- * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
- * Click nbfs://nbhost/SystemFileSystem/Templates/Project/Maven2/JavaApp/src/main/java/${packagePath}/${mainClassName}.java to edit this template
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Project/Maven2/JavaApp/src/main/java/${packagePath}/${mainClassName}.java to edit this template
  */
 package com.calebfontenot.lab.d.arrays_calebfontenot;
 
@@ -36,22 +30,9 @@ table {color: #888888; background-color: #313335; font-family: monospace; font-w
  * @author caleb
  */
 public class Lab2DArrays_CalebFontenot {
-    
-    /**
-     * Sorts the methods in ascending order using Selection Sort
-     * @param names 
-     */
-    public static void sortNames(char[][] names) {
-        
-    }
 
-    public static void main(String[] args)
+    public static void main(String[] args)
     {
-        char[][] names = {
-        {'j', 'o', 'h', 'n'},
-        {'a', 'n'},
-        {'b', 'y', 'r', 'o', 'n'}
-    };
         int[][] a1 = {
             {1, 2, 3, 4},
             {5, 6, 7, 8},
@@ -62,157 +43,157 @@ table {color: #888888; background-color: #313335; font-family: monospace; font-w
             {"mary", "laura", "margaret"}
         };
 
-        print(a1);
-        System.out.println();
-        print(a2);
+        print(a1);
+        System.out.println();
+        print(a2);
 
         int a3[][] = new int[5][5];
-        initializeArray(a3);
-        System.out.println();
-        print(a3);
+        initializeArray(a3);
+        System.out.println();
+        print(a3);
 
-        System.out.println();
-        int[][] dupDup = dup(a1);
-        print(dupDup);
+        System.out.println();
+        int[][] dupDup = dup(a1);
+        print(dupDup);
 
-        System.out.println();
+        System.out.println();
         String[][] a4 = {
             {"ASDV", "MATH", "ENGL"},
             {"BIOL", "CHEM"},
             {"PHYS"}
         };
-        print(a4);
+        print(a4);
 
-        System.out.println();
-        printColumnMajorOrder(a4);
+        System.out.println();
+        printColumnMajorOrder(a4);
         
-        System.out.println();
+        System.out.println();
         int[][] a5 = {
             {1},
             {1, 2},   
             {1, 2, 3}
         };
-        System.out.println("Max number of columns in ar5 is " + maxNumberOfColumnsInJagged2DArray(a5));
+        System.out.println("Max number of columns in ar5 is " + maxNumberOfColumnsInJagged2DArray(a5));
 
-        System.out.println();
+        System.out.println();
         int[][][] a6 = {
             { {1, 2}, {3, 4} }, // table 1 NOT jagged 2x2
             {{5, 6}, {-1} }, // table 2 jagged
             {{7, 8 ,9}, {10, 11}, {12, 13, 14, 15}} // table 3 jagged
         };
-        print(a6);
+        print(a6);
 
         String[] a7 = {"john", "Mary", "Paul", "nick", "Peter", "anna"};
         
-        System.out.println();
-        selectionSort(a7);
-        print(a7);
+        System.out.println();
+        selectionSort(a7);
+        print(a7);
     }
 
-    public static void print(int[][] a1)
+    public static void print(int[][] a1)
     {
-        for (int i = 0; i < a1.length; ++i) {
-            for (int j = 0; j < a1[i].length; ++j) {
-                System.out.print(a1[i][j] + " ");
+        for (int i = 0; i < a1.length; ++i) {
+            for (int j = 0; j < a1[i].length; ++j) {
+                System.out.print(a1[i][j] + " ");
             }
-            System.out.println();
+            System.out.println();
         }
     }
-     public static void print(int[][][] a1)
+     public static void print(int[][][] a1)
     {
-        for (int i = 0; i < a1.length; ++i) {
-            System.out.println("\n Table: " + (i+1));
-            for (int j = 0; j < a1[i].length; ++j) {
-                for (int k = 0; k < a1[i][j].length; ++k) {
-                    System.out.print(a1[i][j][k] + " ");
+        for (int i = 0; i < a1.length; ++i) {
+            System.out.println("\n Table: " + (i+1));
+            for (int j = 0; j < a1[i].length; ++j) {
+                for (int k = 0; k < a1[i][j].length; ++k) {
+                    System.out.print(a1[i][j][k] + " ");
                 }
-                System.out.println();
+                System.out.println();
             }
             
         }
     }
 
-    public static void print(String[][] a1)
+    public static void print(String[][] a1)
     {
-        for (int i = 0; i < a1.length; ++i) {
-            for (int j = 0; j < a1[i].length; ++j) {
-                System.out.print(a1[i][j] + " ");
+        for (int i = 0; i < a1.length; ++i) {
+            for (int j = 0; j < a1[i].length; ++j) {
+                System.out.print(a1[i][j] + " ");
             }
-            System.out.println();
+            System.out.println();
         }
     }
     
-    public static void print(String[] a1)
+    public static void print(String[] a1)
     {
-        for (int i = 0; i < a1.length; ++i) {
-                System.out.print(a1[i] + " ");
+        for (int i = 0; i < a1.length; ++i) {
+                System.out.print(a1[i] + " ");
         }
-        System.out.println();
+        System.out.println();
     }
 
-    public static void initializeArray(int[][] a1)
+    public static void initializeArray(int[][] a1)
     {
-        for (int i = 0; i < a1.length; ++i) {
-            for (int j = 0; j < a1[i].length; ++j) {
-                a1[i][j] = (int) (Math.random() * 11);
+        for (int i = 0; i < a1.length; ++i) {
+            for (int j = 0; j < a1[i].length; ++j) {
+                a1[i][j] = (int) (Math.random() * 11);
             }
         }
     }
 
-    public static int[][] dup(int[][] a1)
+    public static int[][] dup(int[][] a1)
     {
-        int[][] dupArray = new int[a1.length][a1[0].length];
+        int[][] dupArray = new int[a1.length][a1[0].length];
 
-        for (int i = 0; i < a1.length; ++i) {
-            for (int j = 0; j < a1[i].length; ++j) {
+        for (int i = 0; i < a1.length; ++i) {
+            for (int j = 0; j < a1[i].length; ++j) {
                 dupArray[i][j] = a1[i][j];
             }
         }
         return dupArray;
     }
 
-    public static void printColumnMajorOrder(String[][] ar)
+    public static void printColumnMajorOrder(String[][] ar)
     {
        int row = 0;
        int column = 0;
-       int max = maxNumberOfColumnsInJagged2DArray(ar);
+       int max = maxNumberOfColumnsInJagged2DArray(ar);
        for (column = 0; column < max; ++column) {
-           for (row = 0; row < ar.length; ++row) {
-               if (column < ar[row].length) {
-                   System.out.print(ar[row][column] + " ");
+           for (row = 0; row < ar.length; ++row) {
+               if (column < ar[row].length) {
+                   System.out.print(ar[row][column] + " ");
                }
            }
-           System.out.println();
+           System.out.println();
        }
     }
     
-    public static int maxNumberOfColumnsInJagged2DArray(int[][] ar) {
+    public static int maxNumberOfColumnsInJagged2DArray(int[][] ar) {
         int maxNumberOfColumns = 0;
-        for (int row = 0; row < ar.length; ++row) {
-            if (ar[row].length > maxNumberOfColumns) {
-                maxNumberOfColumns = ar[row].length;
+        for (int row = 0; row < ar.length; ++row) {
+            if (ar[row].length > maxNumberOfColumns) {
+                maxNumberOfColumns = ar[row].length;
             }
     }
         return maxNumberOfColumns;
     }
-    public static int maxNumberOfColumnsInJagged2DArray(String[][] ar) {
+    public static int maxNumberOfColumnsInJagged2DArray(String[][] ar) {
         int maxNumberOfColumns = 0;
-        for (int row = 0; row < ar.length; ++row) {
-            if (ar[row].length > maxNumberOfColumns) {
-                maxNumberOfColumns = ar[row].length;
+        for (int row = 0; row < ar.length; ++row) {
+            if (ar[row].length > maxNumberOfColumns) {
+                maxNumberOfColumns = ar[row].length;
             }
     }
         return maxNumberOfColumns;
     }
-    public static void printARow(int[] rowOf2D) {
-        for (int i = 0; i < rowOf2D.length; ++i) {
-            System.out.print(rowOf2D[i] + " ");
+    public static void printARow(int[] rowOf2D) {
+        for (int i = 0; i < rowOf2D.length; ++i) {
+            System.out.print(rowOf2D[i] + " ");
         }
-        System.out.println();
+        System.out.println();
     }
-    public static void selectionSort(int[] ar1) {
-        for (int i = 0; i < ar1.length - 1; ++i) {
-            for (int j = i + 1; j < ar1.length; ++j) {
+    public static void selectionSort(int[] ar1) {
+        for (int i = 0; i < ar1.length - 1; ++i) {
+            for (int j = i + 1; j < ar1.length; ++j) {
                 if (ar1[i] > ar1[j]) {
                     int temp = ar1[i];
                     ar1[i] = ar1[j];
@@ -221,18 +202,23 @@ table {color: #888888; background-color: #313335; font-family: monospace; font-w
             }
         }
     }
-    public static void selectionSort(String[] ar1) {
-        for (int i = 0; i < ar1.length - 1; ++i) {
-            for (int j = i + 1; j < ar1.length; ++j) {
+    public static void selectionSort(String[] ar1) {
+        for (int i = 0; i < ar1.length - 1; ++i) {
+            for (int j = i + 1; j < ar1.length; ++j) {
                 // Compare all chars in string if first chars match
                 char compChar1 = ar1[i].charAt(0), compChar2 = ar1[j].charAt(0);
-                if (Character.toLowerCase(compChar1) == Character.toLowerCase(compChar2)) {
-                    compChar1 = ar1[i].charAt(1);
-                    compChar2 = ar1[j].charAt(1);
-                    
-                    // Note: I'm not happy with this implementation, but it works as long as you're only having to compare 1 other character.
+                for (int index = 1; index < ar1[i].length(); ++index) {
+                if (Character.toLowerCase(compChar1) == Character.toLowerCase(compChar2)) {
+                    try {
+                    compChar1 = ar1[i].charAt(index);
+                    compChar2 = ar1[j].charAt(index);
+                    } catch (Exception ex) {
+                        // If it's failed, the index has gone out of range.
+                        break;
+                    }
                 }
-                if (Character.toLowerCase(compChar1) > Character.toLowerCase(compChar2)) {
+                }
+                if (Character.toLowerCase(compChar1) > Character.toLowerCase(compChar2)) {
                     String temp = ar1[i];
                     ar1[i] = ar1[j];
                     ar1[j] = temp;
diff --git a/Semester 2/ZIPs/lab-2D-arrays-sort_CalebFontenot.zip b/Semester 2/ZIPs/lab-2D-arrays-sort_CalebFontenot.zip
new file mode 100644
index 0000000000000000000000000000000000000000..e083d615805960a945b9492f3e4589bbe9a4cbdb
GIT binary patch
literal 5780
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
Tx4Z%XRJ(twyCV@G_SgRbX#`|w

literal 0
HcmV?d00001

diff --git a/Semester 2/ZIPs/lab-2D-arrays_CalebFontenot.zip b/Semester 2/ZIPs/lab-2D-arrays_CalebFontenot.zip
index 2823dd270e994feb9b75122f71a3003766913639..bae61ff73badc3b804a09958d91af68d10f03b68 100644
GIT binary patch
delta 3942
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

delta 4285
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
Nz|5pu1mJ%T{|g$94iEqU