Я сейчас обучаюсь Java SE. И попалась такая задачка:
Напишите программу, в которой я ввожу два числа N и M. Затем создаю двумерный массив NxM. Далее мы заполняем этот массив числами. Затем, мы вводим число k. Программа должна вывести первые k отрицательных элементов в каждой колонке, как показано в примере.
Ввод:
3 3
9 -2 0
-8 -7 -2
1 12 -3
2
Вывод:
9 -2 0
-8 -7 -2
1 12 -3
_ _ _
-8 -2 -2
Х -7 -3
Я написал следующий код, который выводит первые k отрицательных элементов, но я не могу привести вид к выводу из примера
Мой код:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int M = in.nextInt();
int[][] a = new int[N][M];
for (int i = 0; i < N; i++) {
for (int x = 0; x < M; x++) {
a[i][x] = in.nextInt();
}
}
int k = in.nextInt();
for (int i = 0; i < N; i++, System.out.println()) {
for (int x = 0; x < M; x++) {
System.out.print(a[i][x] + " ");
}
}
System.out.println("_____");
for (int i = 0; i < N; i++, System.out.println()) {
for (int x = 0; x < M; x++) {
if (a[i][x] < 0) {
if (i <= k) {
System.out.print(a[i][x] + " ");
}
}
}
}
}
}