@Janna1603

Как решить задачу с двумерным массивом?

Создать квадратный двумерный целочисленный массив (количество строк и столбцов одинаковое), и с помощью цикла(-ов) заполнить его диагональные элементы единицами;
Привет! Помогите задачу решить, пожалуйста. Я только это написала, а дальше как не понимаю
int[][] arr4 = new int[4][4];
        for (int i = 0; i < arr4.length; i++) {
            for (int j = 0; j < arr4.length; j++) {
              
            }
        }
  • Вопрос задан
  • 2329 просмотров
Пригласить эксперта
Ответы на вопрос 3
@jiggz
Вкратце необходимо заполнять единицами те ячейки, у которых i == j. Что-то в духе
if (i == j) {
 arr4[i][j] = 1;
}
Ответ написан
Комментировать
@Kot1que
пишу на жаве
int n = 4;
int[][] array = new int[n][n];

for (int i = 0; i < n; i++) {
    array[i][i] = 1;
    array[i][n - i - 1] = 1;
}
Ответ написан
Комментировать
@hyperpositron
Смотря какая диагональ нужна, вот например крест на крест.
public static void diagonal(int x, int y) {
int[][] arr = new int[x][y];

for (int i = 0; i < arr.length; i++) {
arr[i][arr.length - i - 1] = 1;
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
arr[i][i] = 1;
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}

Результат:

1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1

А так на одну сторону :
public static void diagonal(int x, int y) {
int[][] arr = new int[x][y];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
arr[i][i] = 1;
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
Результат:
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы