Cześć. Problem dotyczy tego, że nie jestem w stanie zapisać wyników transponowania macierzy :
import java.util.Scanner;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
int m = 0, n = 0, l = 0, k = 0, x = 0, y = 0;
int A[][] = new int [m][n];
int B[][] = new int [l][k];
int R[][] = new int [x][y];
do {
System.out.println("\nMenu:\n1.Wprowadz macierze wejsciowe\n2.Operacje arytmetyczne\n3.Wyswietl macierze");
Scanner s = new Scanner(System.in);
int menu = s.nextInt();
switch (menu) {
case 1:
System.out.println("Podaj wymiary macierzy A podajac dwie liczby oddzielone spacja: ");
m = s.nextInt();
n = s.nextInt();
A = new int [m][n];
System.out.println("Podaj element macierzy A zatwierdzajac enterem: ");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
A[i][j] = s.nextInt();
}
}
System.out.println("Podaj wymiary macierzy B podajac dwie liczby oddzielone spacja: ");
l = s.nextInt();
k = s.nextInt();
System.out.println("Podaj element macierzy B zatwierdzajac enterem: ");
B = new int[l][k];
for (int i = 0; i < l; i++) {
for (int j = 0; j < k; j++) {
B[i][j] = s.nextInt();
}
}
break;
case 2:
System.out.println("1.Transponuj macierze wejsciowe\n2.Pomnoz macierze wejsciowe\n3.Transponuj macierz wejsciową");
int menu2 = s.nextInt();
switch(menu2){
case 1:
int temp[][] = new int [m][n];
int temp2[][] = new int [l][k];
for(int i = 0; i < x ; i++)
for(int j = 0 ; j < y ; j++) {
int element = A[j][i];
temp[i][j] = element;
element = B[j][i];
temp2[i][j] = element;
}
System.out.print("{");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i != 0 && j == 0)
System.out.print("\n ");
System.out.print(" " + temp[i][j] + "");
}
}
System.out.print(" }");
System.out.print("\n{");
for (int i = 0; i < l; i++) {
for (int j = 0; j < k; j++) {
if (i != 0 && j == 0)
System.out.print("\n ");
System.out.print(" " + temp2[i][j] + "");
}
}
System.out.print(" }");
break;
case 2:
break;
case 3:
int temp3[][] = new int [x][y];
for(int i = 0; i < x ; i++)
for(int j = 0 ; j < y ; j++)
temp3[i][j] = R[j][i];
for(int i = 0; i < x ; i++)
for(int j = 0 ; j < y ; j++)
R[i][j] = temp3[i][j];
break;
}
break;
case 3:
System.out.println("1.Wyswietl macierze wejsciowe\n2.Wyswietl macierz wynikowa");
int menu3 = s.nextInt();
switch(menu3) {
case 1:
System.out.print("A: \n{");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i != 0 && j == 0)
System.out.print("\n ");
System.out.print(" " + A[i][j] + "");
}
}
System.out.print(" }");
System.out.print("\nB: \n{");
for (int i = 0; i < l; i++) {
for (int j = 0; j < k; j++) {
if (i != 0 && j == 0)
System.out.print("\n ");
System.out.print(" " + B[i][j] + "");
}
}
System.out.print(" }");
break;
case 2:
System.out.print(" }");
System.out.print("\nResult: \n{");
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
if (i != 0 && j == 0)
System.out.print("\n ");
System.out.print(" " + R[i][j] + "");
}
}
System.out.print(" }");
break;
}
}
} while (true);
}
}
Po transponowaniu pętle które w zamyśle miały wyświetlać temp oraz temp2, wychodzą same zera. Wyświetlając w menu 3 - 1 macierze są takie same jak na początku zadeklarowane, nawet bez tych zer z 2 - 1.