Большой Воронежский Форум
» Программирование>Вопрос по синтаксису Java
skyfish 00:26 20.01.2008
Можно ли изящно скопировать строку из матрицы a[n][m] в вектор b[m]?

P.S. поэлементное копирование в цикле не предлагать. [Ответ]
skyfish 12:41 20.01.2008
Спасибо большое. разобрался. [Ответ]
skyfish 23:12 28.01.2008
Еще вопросик мучает, ради красоты

у меня конструктор одного класса должен сжирать два вектора:

class myclass
{
..

myclass(double[] A, double[] B)
{...}

..
}


Теперь когда я создаю объект:

myclass myobject = new myclass(somearray1, somearray2)

вместо одномерных массивов somearray1 и somearray2, можно ли вбить напрямую нужные строки и столбцы двухмерной матрицы, с понтом они строки и столбцы, используя гибкость синтаксиса, не копируя их сначала в одномерные somearray1 и somearray2.
[Ответ]
Svist7 21:01 30.01.2008
Создай анонимный класс для массива

myclass(new double[] {1,2,6,8,9},new double[] {1,2,6}); [Ответ]
skyfish 22:11 30.01.2008

Сообщение от kolega:
System.arraycopy(matrix[n], 0, vec, 0, vec.length);

сцуко, а как скопировать столбик матрицы?

Сообщение от Svist7:
myclass(new double[] {1,2,6,8,9},new double[] {1,2,6});

недошло [Ответ]
Svist7 22:39 30.01.2008

Сообщение от skyfish:
недошло

Чего не дошло?

Загоняем массивы {1,2,6,8,9} и {1,2,6} соответствено. new double[]{1,2,6,8,9} - это Java имеет возможность создавать объекты безымянных классов. [Ответ]
Svist7 22:42 30.01.2008

Сообщение от skyfish:
сцуко, а как скопировать столбик матрицы?

Есть подозрение, что никак. Поскольку двумерный массив в JAVA представляется на самом деле как массив одномерных [Ответ]
dev 09:22 31.01.2008

Сообщение от skyfish:
сцуко, а как скопировать столбик матрицы?

таки перебором, если им то:

Сообщение от :
int[][] a = {{1,2,3}, {4, 5, 6}};
MyClass mc = new MyClass(a[0], new Object() {
private int[] vec;
public int[] getCol(int[][] arr, int colInd) {
vec = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
vec[i] = arr[i][colInd];
}
return vec;
}
}.getCol(a, 1));

набирал сразу здесь, так что могут быть ошибки [Ответ]
skyfish 09:48 31.01.2008

Сообщение от skyfish:
P.S. поэлементное копирование в цикле не предлагать.

dev, но все же спасибо, за желание помочь. [Ответ]
dev 14:03 31.01.2008

Сообщение от skyfish:
Можно ли изящно скопировать строку из матрицы a[n][m] в вектор b[m]?
P.S. поэлементное копирование в цикле не предлагать.

посмотри apache commons, там есть какой-то метод - транспонирование 2-го массива. Хотя наверное это еще накладнее получится [Ответ]
Вверх