From 98f105d5cb3eb5c3b15ac3eda05e25b5399fb3e5 Mon Sep 17 00:00:00 2001 From: Chloe Christine Fontenot Date: Sun, 19 Oct 2025 21:30:59 -0500 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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

delta 4285
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