Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 13
1

Натолкните на мысль, где вычитать и т.д. Есть два класса, нужно сделать дружественную функцию

23.12.2012, 23:32. Просмотров 926. Ответов 3
Метки нет (Все метки)


Вот есть допустим классы Матрица, Вектор, готовые, нужно что бы была функция типа
Java
1
2
3
Matrix M() = ...;
Vector V() = ...;
M.add(V);
Помогите срочно нужно
Спасибо за внимание.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2012, 23:32
Ответы с готовыми решениями:

Натолкните на мысль
Очень давно изучал теорию вероятности, прошу помощи :wall: Есть задача: Во время дождя капля...

Натолкните на мысль
Добрый день.Собственно вопрос такой.Есть задание,звучит соответственно таким образом:"написать на...

натолкните на мысль
Здравствует. Есть 2 вопроса которые не могу решить... 1) Нужно сделать запрос. Есть база с...

Pascal, натолкните на мысль....
Множество P={P1, P2, ..., Pn} 3<=n<=30 на евклидовой плоскости, каждая точка З определена своими...

3
Эксперт Java
4072 / 3806 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
24.12.2012, 09:59 2
Как вы собираетесь прибавлять к матрице вектор? В стандартной алгебре операций над матрицами, такая операция недопустима/неопределена.
0
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 13
24.12.2012, 14:32  [ТС] 3
Цитата Сообщение от turbanoff Посмотреть сообщение
Как вы собираетесь прибавлять к матрице вектор? В стандартной алгебре операций над матрицами, такая операция недопустима/неопределена.
Да уж...Прошу прощения Перемножить матрицу и вектор.
0
1999 / 1422 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
24.12.2012, 16:03 4
А в чем проблема? Метод реализуется где нужно. А нужно - в классе Matrix:

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package ru.skipy.tests;
 
/**
 * MatrixTest
 *
 * @author Eugene Matyushkin aka Skipy
 * @since 24.12.12
 */
public class MatrixTest {
 
    public static void main(String[] args) {
        int[][] me = new int[][]{
                {1, 0, -1},
                {0, -1, 1},
                {-1, 1, 1},
                {5, 0, 2}};
        Matrix m = new Matrix(me);
        System.out.println(m);
        int [] ve = new int[]{1,0,-1};
        Vector v = new Vector(ve);
        System.out.println(v);
        Vector vr = m.multiplyBy(v);
        System.out.println("M x V:");
        System.out.println(vr);
    }
 
 
    static class Matrix {
 
        protected int[][] elements;
 
        public Matrix(int[][] elements) {
            this.elements = elements;
        }
 
        public Matrix multiplyBy(Matrix m) {
            if (elements[0].length != m.elements.length) {
                throw new IllegalArgumentException("Wrong matrix dimension");
            }
            int[][] newElements = new int[elements.length][m.elements[0].length];
            for (int i = 0; i < newElements.length; i++) {
                for (int j = 0; j < newElements[0].length; j++) {
                    int e = 0;
                    for (int k = 0; k < elements[0].length; k++) {
                        e += elements[i][k] * m.elements[k][j];
                    }
                    newElements[i][j] = e;
                }
            }
            return new Matrix(newElements);
        }
 
        public Vector multiplyBy(Vector v) {
            return multiplyBy((Matrix) v).toVector();
        }
 
        private Vector toVector() {
            if (elements[0].length > 1)
                throw new IllegalStateException("Wrong matrix dimension");
            int[] newElements = new int[elements.length];
            for (int i = 0; i < elements.length; i++) {
                newElements[i] = elements[i][0];
            }
            return new Vector(newElements);
        }
 
        @Override
        public String toString() {
            StringBuilder sb = new StringBuilder("Matrix: [\n");
            for (int[] row : elements) {
                sb.append("    [");
                for (int j = 0; j < row.length; j++) {
                    sb.append(row[j]);
                    if (j < row.length - 1) {
                        sb.append(",");
                    }
                }
                sb.append("]\n");
            }
            sb.append("]");
            return sb.toString();
        }
    }
 
    static class Vector extends Matrix {
 
        public Vector(int[] elements) {
            super(new int[elements.length][1]);
            for (int i = 0; i < elements.length; i++) {
                this.elements[i][0] = elements[i];
            }
        }
 
        @Override
        public String toString() {
            StringBuilder sb = new StringBuilder("Vector: [");
            for (int i = 0; i < elements.length; i++) {
                sb.append(elements[i][0]);
                if (i < elements.length - 1) {
                    sb.append(",");
                }
            }
            sb.append("]");
            return sb.toString();
        }
    }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2012, 16:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Господа, натолкните на мысль
Доброго времени суток, вопрос примитивен, но все же. Дали задание, пытаюсь разобраться. Опять же...

Натолкните на мысль !Пожалуйста!
определить а, так что бы прямые x-1=(y+1)/2=(z-1)/a и x+1-y-1-z пересекались??:umnik:

Не работает. Натолкните на мысль, что исправить ?
Определить минимальное значение n &gt; 0, для которого очередное слагаемое по модулю не превышает E &gt;...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.