Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 18.05.2012
Сообщений: 29

Класс Arrays

21.05.2012, 02:47. Показов 2391. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать такой код. Увы мои познания языка не дают возможности быстро написать код, а очень надо. Заранее благодарю за помощь.

Квадратная матрица симметричная относительно главной диагонали, задана в виде одномерного массива. Восстановить исходную матрицу и напечатать по строкам.
Разработать и использовать в программе метод выведения матрицы на экран, метод, копирующий элементы одномерного массива в верхний треугольник матрицы и метод заполнения матрицы случайными числами

В коде активно используется класс Arrays.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.05.2012, 02:47
Ответы с готовыми решениями:

2d arrays
Помогите пожалуйста найти ошибку в следующем коде: public boolean checkIfAscending(int rowNumber, int size) { int count = 0;...

Arrays.sort()
После сортировки в начале стоят слова с верхним регистром(отсортированные) , потом отсортированные с нижним. Есть ли параметр, который...

Функция Arrays.sort()
Подскажите пожалуйста, почему функция Arrays.sort() возвращает всем элементам массива значение "0". import java.util.Arrays;...

5
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
21.05.2012, 15:06
Цитата Сообщение от NickolasAnnish Посмотреть сообщение
В коде активно используется класс Arrays
это нужно по условию?

Добавлено через 18 минут
и вопрос вдогонку. Одномерный массив содержит элементы только для верхнего треуголника?
0
0 / 0 / 1
Регистрация: 18.05.2012
Сообщений: 29
21.05.2012, 22:45  [ТС]
Цитата Сообщение от exiqa Посмотреть сообщение
и вопрос вдогонку. Одномерный массив содержит элементы только для верхнего треуголника?
А вот этого я сам не знаю. Я задание переписал как было.
Судя по всему матрица состоит полностью из массива, но элементы массива симметричны по этим самым треугольникам.

Цитата Сообщение от exiqa Посмотреть сообщение
это нужно по условию?
Тема самой работы: "Передача в методы ссылок на массивы. Методы класса Arrays"
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
21.05.2012, 23:26
Вариант 1, одномерный массив содержит элементы только для верхнего треугольника
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.util.Arrays;
 
public class Matrix {
 
    public static void printMatrix(int[][] matrix) {
        for (int[] array : matrix) {
            System.out.println(Arrays.toString(array));
        }
    }
    
    public static void fillUpperTriangle(int[][] matrix, int[] array) {
        int length = matrix.length;
        int index = 0;
        for (int i = 0; i < length; i++) {
            for (int j = i; j < length; j++) {
                matrix[i][j] = array[index++];
            }
        }
    }
    
    public static int[][] createSymmetricMatrix(int[] array) {  
        int size = (int) Math.sqrt(array.length * 2);
        int[][] matrix = new int[size][size];
        fillUpperTriangle(matrix, array);
        for (int i = 1; i < matrix.length; i++) {
            for (int j = 0; j < i; j++) {
                matrix[i][j] = matrix[j][i];
            }
        }
        return matrix;
    }
    
    public static void main(String[] args) {
        
        int[] array = { 1, 3, 0, 2, 6, 5 };
        int[][] matrix = createSymmetricMatrix(array);
        printMatrix(matrix);
 
    }
 
}
[1, 3, 0]
[3, 2, 6]
[0, 6, 5]
Вариант 2, когда массив содержит все элементы
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.Arrays;
 
public class Matrix {
    
    public static void printMatrix(int[][] matrix) {
        for (int[] array : matrix) {
            System.out.println(Arrays.toString(array));
        }
    }
    
    public static int[][] createSymmetricMatrix(int[] array) {
        int size = (int) Math.sqrt(array.length);
        int[][] matrix = new int[size][size];
        int from = 0, to = size, i = 0;
        while (i < size) {
            matrix[i] = Arrays.copyOfRange(array, from, to);
            from = to;
            to += size;
            i++;
        }
        return matrix;
    }
    
    public static void main(String[] args) {
        
        int[] array = { 1, 3, 0, 3, 2, 6, 0, 6, 5 };
        int[][] matrix = createSymmetricMatrix(array);
        printMatrix(matrix);
        
    }
 
}
[1, 3, 0]
[3, 2, 6]
[0, 6, 5]
1
0 / 0 / 1
Регистрация: 18.05.2012
Сообщений: 29
22.05.2012, 02:20  [ТС]
Огромное спасибо за помощь, но есть два вопроса.
Первый: можно ли длину массива вводить с клавиатуры?(Пытался через сканнер - не получилось, через Math.random - тоже)
Второй вытекает из первого: если нельзя длину массива ввести с клавиатуры, то можно ли увеличить его длину? Поскольку попытки добавить элемент в массив не увенчались успехом.
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
22.05.2012, 11:17
Цитата Сообщение от NickolasAnnish Посмотреть сообщение
метод заполнения матрицы случайными числами
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.Random;
import java.util.Scanner;
 
public class Matrix {
 
    public static int[][] generateRandomMatrix(int size) {
        Random rand = new Random();
        int[][] matrix = new int[size][size];
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                matrix[i][j] = rand.nextInt();
            }
        }
        return matrix;
    }
    
    public static void main(String[] args) {
        
        System.out.print("Input matrix size -> ");
        int size = new Scanner(System.in).nextInt();
        int[][] matrix = generateRandomMatrix(size);
 
    }
 
}
длину массива после создания изменить нельзя
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.05.2012, 11:17
Помогаю со студенческими работами здесь

Лямбда-выражение в Arrays.sort
Здравствуйте! Компилятор почему-то ругается на строку с лямбда-выражением, используемым в методе sort класса Arrays. Говорит, no...

Что делает Arrays.sort(...)
Arrays.sort(...)...что этот массив делаеть? Где можно подробно о нем почитать ?

Как убрать кавычки из вывода Arrays.tostring?
Здравствуйте! Задался вопросом, как убрать кавычки (которые еще и развернулись наизнанку после насилия над ними reverse из вывода вообде...

Arrays.asList для примитивного и объектного типов
Не могу понять почему, то ли после отпуска туплю, то ли еще что.. Почему для Integer array = {1, 2, 3}; ...

Как расширить массив, не используя arrays.copy
Пробую написать метод для расширения масива при добавлении елемента по чсету большего чем размер масива. Но почему то не работает...выдает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru