Напишите программу, которая загружает матрицу и выполняет указанные преобразования указанного массива на 90, -90, 90 градусов. Преобразования будут введены в 0, -1,1. Ввод другого номера завершает обработку текущего задания. Моя матрица не сохраняет данные с предыдущей матрицы, то есть выводит:
Переворот 1
3 6 9
2 5 8
1 4 7
Переворот 1
3 6 9
2 5 8
1 4 7
А мне нужно:
input:
Ввод строк: 3
Ввод столбцов: 3
output:
Matrix
1 2 3
4 5 6
7 8 9
input:
Переворот
1
output:
3 6 9
2 5 8
1 4 7
input:
Переворот
1
output:
9 8 7
6 5 4
3 2 1
input:
Переворот
0
output:
9 8 7
6 5 4
3 2 1
public class Transformace {
private static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Ввод строк");
int pr = sc.nextInt();
System.out.println("Ввод столбцов");
int ps = sc.nextInt();
int[][] array = new int[pr][ps];
Matrix(array);
while (true) {
System.out.println("Переворот");
int turn = sc.nextInt();
if (turn == 1) {
Pocitani(turnToLeft(array));
} else if (turn == -1) {
Pocitani(turnToRight(array));
} else if (turn == 0) {
Pocitani(array);
} else {
break;
}
}
}
public static int[][] Matrix(int[][] array) {
int s = 0;
System.out.println("Matrix");
for (int i = 0; i < array.length; i++, System.out.println()) {
for (int j = 0; j < array[i].length; j++) {
array[i][j] = s + 1;
s = s + 1;
System.out.print(array[i][j] + " ");
}
}
return array;
}
public static int[][] turnToRight(int[][] array) {
// System.out.println("Rotovana matice");
int result[][] = new int[array[0].length][array.length];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
result[j][array.length - i - 1] = array[i][j];
}
}
return result;
}
public static int[][] turnToLeft(int[][] array) {
// System.out.println("Rotovana matice");
int result[][] = new int[array[0].length][array.length];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
result[array[i].length - j - 1][i] = array[i][j];
}
}
return result;
}
public static void Pocitani(int[][] array) {
for (int i = 0; i < array.length; i++, System.out.println()) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
}
}
}
Прошу помочь с этим.
while (true) {
System.out.println("Переворот");
int turn = sc.nextInt();
if (turn == 1) {
array = turnToLeft(array);
Pocitani(array);
} else if (turn == -1) {
array = turnToRight(array);
Pocitani(array);
} else if (turn == 0) {
Pocitani(array);
} else {
break;
}
}
Можно ли добавить собственный элемент управления в SceneBuilder, что бы кроме стандартных (например TextField) в списке было MyTextField?
Программа должна подсчитывать уникальные чисел в массиве, например
Дан массив A длины (n+1), содержащий натуральные числа от 1 до nНайти любой повторяющийся элемент за время O(n), не изменяя массив и не используя...