import java.util.*;
import java.lang.*;
import java.io.*;
class TheDotProduct2D {
public static void main
(String[] args
) { int[][] my2D_1= {{1,3},{4,6},{15,16}};
System.
out.
println("Original Vector: "); PrintVect2D(my2D_1);
int rows= my2D_1.length;
int cols= my2D_1[0].length;
int[][] my2D_2 = new int[cols][rows];
my2D_2=Transpose2D(my2D_1);
System.
out.
println("\nTransposed Vector: "); PrintVect2D(my2D_2);
System.
out.
println("\nDot Product of two Vectors: "); DotProd2D(my2D_1,my2D_2);
}
public static int[][] Transpose2D(int[][] x_arr) {
int cols=x_arr[0].length;
int rows=x_arr.length;
int trans_arr[][] = new int[cols][rows];
for(int i=0; i<rows; i++) {
for(int j=0; j<cols; j++) {
trans_arr[j][i]=x_arr[i][j];
}
}
return (trans_arr);
}
// your code here for new method DotProd()
public static void DotProd2D(int[][] x, int[][] y) {
int row = x.length;
int col = y[0].length;
int temp[][]=new int[row][col];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
temp[i][j]=0;
for(int k=0;k<x[1].length;k++){
temp[i][j]+=x[i][k]*y[k][j];
}
}
}
PrintVect2D(temp);
return;
}
public static void PrintVect2D(int[][] vect) {
for(int i=0; i<vect.length; i++) {
if(i>0)
for(int j=0; j<vect[0].length; j++) {
if(j<vect[0].length-1)
System.
out.
print(vect
[i
][j
]+", "); else
}
if(i<vect.length-1)
else
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBUaGVEb3RQcm9kdWN0MkQgewoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQlpbnRbXVtdIG15MkRfMT0ge3sxLDN9LHs0LDZ9LHsxNSwxNn19OwoJCVN5c3RlbS5vdXQucHJpbnRsbigiT3JpZ2luYWwgVmVjdG9yOiAiKTsKCQlQcmludFZlY3QyRChteTJEXzEpOwoKCQlpbnQgcm93cz0gbXkyRF8xLmxlbmd0aDsKCQlpbnQgY29scz0gbXkyRF8xWzBdLmxlbmd0aDsKCQlpbnRbXVtdIG15MkRfMiA9IG5ldyBpbnRbY29sc11bcm93c107CgkJbXkyRF8yPVRyYW5zcG9zZTJEKG15MkRfMSk7CgkJCQoJCVN5c3RlbS5vdXQucHJpbnRsbigiXG5UcmFuc3Bvc2VkIFZlY3RvcjogIik7CgkJUHJpbnRWZWN0MkQobXkyRF8yKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIlxuRG90IFByb2R1Y3Qgb2YgdHdvIFZlY3RvcnM6ICIpOwoJCURvdFByb2QyRChteTJEXzEsbXkyRF8yKTsKCX0KCXB1YmxpYyBzdGF0aWMgaW50W11bXSBUcmFuc3Bvc2UyRChpbnRbXVtdIHhfYXJyKSB7CgkJaW50IGNvbHM9eF9hcnJbMF0ubGVuZ3RoOwoJCWludCByb3dzPXhfYXJyLmxlbmd0aDsKCQlpbnQgdHJhbnNfYXJyW11bXSA9IG5ldyBpbnRbY29sc11bcm93c107CgkJZm9yKGludCBpPTA7IGk8cm93czsgaSsrKSB7CgkJCWZvcihpbnQgaj0wOyBqPGNvbHM7IGorKykgewoJCQkJdHJhbnNfYXJyW2pdW2ldPXhfYXJyW2ldW2pdOwoJCQl9CgkJfQoJCXJldHVybiAodHJhbnNfYXJyKTsKCX0KCQkKCS8vIHlvdXIgY29kZSBoZXJlIGZvciBuZXcgbWV0aG9kIERvdFByb2QoKQoJcHVibGljIHN0YXRpYyB2b2lkIERvdFByb2QyRChpbnRbXVtdIHgsIGludFtdW10geSkgewoJCWludCByb3cgPSB4Lmxlbmd0aDsKCQlpbnQgY29sID0geVswXS5sZW5ndGg7CgkJaW50IHRlbXBbXVtdPW5ldyBpbnRbcm93XVtjb2xdOyAKCQkJZm9yKGludCBpPTA7aTxyb3c7aSsrKXsgCgkJCQlmb3IoaW50IGo9MDtqPGNvbDtqKyspeyAgICAKCQkJCQl0ZW1wW2ldW2pdPTA7ICAgICAgCgkJCQlmb3IoaW50IGs9MDtrPHhbMV0ubGVuZ3RoO2srKyl7ICAgIAoJCQl0ZW1wW2ldW2pdKz14W2ldW2tdKnlba11bal07ICAgICAgCgkJCQl9IAoJCQl9IAoJCX0KCVByaW50VmVjdDJEKHRlbXApOwoJcmV0dXJuOwoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgUHJpbnRWZWN0MkQoaW50W11bXSB2ZWN0KSB7CgkJU3lzdGVtLm91dC5wcmludCgieyAiKTsKCQlmb3IoaW50IGk9MDsgaTx2ZWN0Lmxlbmd0aDsgaSsrKSB7CgkJCWlmKGk+MCkKCQkJCVN5c3RlbS5vdXQucHJpbnQoIiAgIik7CgkJCWZvcihpbnQgaj0wOyBqPHZlY3RbMF0ubGVuZ3RoOyBqKyspIHsKCQkJCWlmKGo8dmVjdFswXS5sZW5ndGgtMSkKCQkJCQlTeXN0ZW0ub3V0LnByaW50KHZlY3RbaV1bal0rIiwgIik7CgkJCQllbHNlCgkJCQkJU3lzdGVtLm91dC5wcmludCh2ZWN0W2ldW2pdKTsKCQkJfQoJCQlpZihpPHZlY3QubGVuZ3RoLTEpCgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIiIpOwoJCQllbHNlCgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIiB9Iik7CgkJfQoJfQp9
Original Vector:
{ 1, 3
4, 6
15, 16 }
Transposed Vector:
{ 1, 4, 15
3, 6, 16 }
Dot Product of two Vectors:
{ 10, 22, 63
22, 52, 156
63, 156, 481 }