Автор: RainGrey 28.05.2006 22:27
Ввести класс для работы с одномерным массивом. Реализовать следующие операторы:
1.Сложение(вычитание) двух массивов
2.Умножение массивов
3.Умножение массива на скаляр
Автор: klem4 28.05.2006 22:34
Это приказ ? Можно приступать к работе ?
Цитата
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
http://forum.pascal.net.ru/index.php?showtopic=2085
Будут конкретные вопросы, поможем, решать за тебя полностью никто не будет.
Автор: volvo 28.05.2006 22:39
Определи, что ты имеешь в виду под перемножением одномерных массивов...
Со сложением и умножением на скаляр все ясно, но перемножать массивы по тем же правилам, по которым перемножаются матрицы - нельзя (массивы не являются сцепленными матрицами).
klem4, напрасно... Нет в поиске ничего подобного... Перемножения в частности. Для матриц - есть КОЕ-ЧТО, а вот для векторов - нет...
P.S. Стоп... RainGrey, какой у тебя компилятор?
Цитата
Реализовать следующие операторы:
Перегрузка
операторов поддерживается только 32-битными компиляторами Паскаля, да и то не всеми...
Автор: klem4 28.05.2006 22:51
Цитата
массивы по тем же правилам, по которым перемножаются матрицы - нельзя
Может я чего-то не понял, но, если у нас етсь 2 вектора размерности n,
a = 1,2
b = 5,6
Представляемих как матрицы, первая из одной строки и 2-х столбцов, вторая из двух строк и одного столбца, получаем в результате перемножения число
(1,2) * (5, 6) = 1 * 5 + 2 * 6 = 12 + 5 = 17
В итоге вормула умножения двух векторов (одинаковой размерности естественно)
P = сумма (i = 1,n) A[i] * B[i]
Я не прав ?
Автор: RainGrey 28.05.2006 23:09
P.S. Стоп... RainGrey, какой у тебя компилятор?
Lazarus
Я не прошу решать за меня всю задачу. Мне бы пример похожий, чтобы разобраться.
А то сплошное белое пятно
Автор: klem4 28.05.2006 23:11
Цитата
Lazarus
А сдавать ты не чем будешь ? (работу показывать)
Автор: RainGrey 28.05.2006 23:14
Цитата(klem4 @ 28.05.2006 19:11)
А сдавать ты не чем будешь ? (работу показывать)
на нем же
Автор: volvo 28.05.2006 23:28
Раз Lazarus, то переезжаем в 32-бита...
Про перегрузку операций читай здесь:
http://forum.pascal.net.ru/index.php?showtopic=8713
(там есть пример для матриц, но переделать под вектора будет несложно, я думаю...)