 ## Please Read Today's Featured Post

### Law of Attraction

When considering the concept of the “law of attraction”, I simply reduce it to the exercise of unity progress.  As you find something that...

### Template for Matrix Arithmetic in Java (some bugs may occur)

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package cosc550_lab1;

import java.util.Arrays;
import java.util.Random;

/**
*
* @author obobotette0 Obioku Obotette September 8, 2016
*
* Lab 1 Program 1: Write a program that randomly generate a one-dimensional
* array, and implements quicksort using recursion. Display the original array,
* and the new array. Program 2: Write a program that randomly generate two
* two-dimensional arrays, and implements matrix multiplication using logical
* loop – for example, for loop. Display the two original matrixes, and the new
* matrix.
*/
public class COSC550_Lab1 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

//create variables
Random num = new Random();
int array[] = new int[num.nextInt(50)];
int i = 0;

//loop to populate array
for (i = 0; i < array.length; i++) {
array[i] = num.nextInt(100);
}

//Print contents of array
System.out.println(Arrays.toString(array));

//Perform sort
quicksort(array, 0, i - 1);

//Print contents of array
System.out.println(Arrays.toString(array));

//Create the dimensions
int x1 = num.nextInt(10);
int y1 = num.nextInt(10);

//Swap row & column values
int matrix1[][] = new int[x1][y1];
int matrix2[][] = new int[y1][x1];

//double for loops to create matrix
for (int n = 0; n < x1; n++) {
for (int m = 0; m < y1; m++) {
matrix1[n][m] = num.nextInt(100);
matrix2[m][n] = num.nextInt(100);
}
}
//Print matricies
System.out.println("Matrix 1 dimensions are  X " + x1 + " Y " + y1 + "\nMatrix 1 contents are " + Arrays.deepToString(matrix1));
System.out.println("Matrix 2 dimensions are  X " + y1 + " Y " + x1 + "\nMatrix 2 contents are " + Arrays.deepToString(matrix2));

//Create matrix for result
int result_matrix[][] = new int[x1];

//Create variables
int temp = 0;
int result = 0;

//Loop to produce matrix multiplication
for (int n = 0; n < x1; n++) {
for (int m = 0; m < y1; m++) {
//Multiply row index by column index
temp = matrix1[n][m] * matrix2[m][n];
//Add results together
result += temp;
}
//Place product in new array
result_matrix[n] = result;
//reset result
result = 0;
}

//Print contents
System.out.println("Result Matrix dimensions are  X " + x1 + " Y " + '1' + "\nResult Matrix contents are " + Arrays.deepToString(result_matrix));

}

//quicksort method
public static void quicksort(int[] point, int low, int high) {
//temp variable for swap
int temp;

//range variables
int l = low;
int h = high;

//create midpoint and middle node
int mid = (low + high) / 2;
int median = point[mid];
while (l <= h) {
while (point[l] < median) {
l++;
}

while (point[h] > median) {
h--;
}

if (l <= h) {
temp = point[l];
point[l] = point[h];
point[h] = temp;
l++;
h--;

}
}
if (low < h) {
quicksort(point, low, h);
}
if (l < high) {
quicksort(point, l, high);
}

}

}

#### Post a Comment

Thank you for reading.
Please share your thoughts.
Be blessed and enjoy life!