Помощь - Поиск - Пользователи - Календарь
Полная версия: Классы и операции над ними
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Free Pascal, Pascal ABC и другие
RainGrey
Ввести класс для работы с одномерным массивом. Реализовать следующие операторы:
1.Сложение(вычитание) двух массивов
2.Умножение массивов
3.Умножение массива на скаляр
klem4
Это приказ ? Можно приступать к работе ? dry.gif

Цитата
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!


FAQ : ООП

Будут конкретные вопросы, поможем, решать за тебя полностью никто не будет.
volvo
Определи, что ты имеешь в виду под перемножением одномерных массивов...

Со сложением и умножением на скаляр все ясно, но перемножать массивы по тем же правилам, по которым перемножаются матрицы - нельзя (массивы не являются сцепленными матрицами).

klem4, напрасно... Нет в поиске ничего подобного... Перемножения в частности. Для матриц - есть КОЕ-ЧТО, а вот для векторов - нет...

P.S. Стоп... RainGrey, какой у тебя компилятор?

Цитата
Реализовать следующие операторы:
Перегрузка операторов поддерживается только 32-битными компиляторами Паскаля, да и то не всеми...
klem4
Цитата
массивы по тем же правилам, по которым перемножаются матрицы - нельзя


Может я чего-то не понял, но, если у нас етсь 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
P.S. Стоп... RainGrey, какой у тебя компилятор?
Lazarus

Я не прошу решать за меня всю задачу. Мне бы пример похожий, чтобы разобраться.
А то сплошное белое пятноsad.gif
klem4
Цитата
Lazarus


А сдавать ты не чем будешь ? (работу показывать)
RainGrey
Цитата(klem4 @ 28.05.2006 19:11) *

А сдавать ты не чем будешь ? (работу показывать)

на нем же wacko.gif
volvo
Раз Lazarus, то переезжаем в 32-бита...

Про перегрузку операций читай здесь:
Перегрузка операций, Компилятор FPC 2.0.x

(там есть пример для матриц, но переделать под вектора будет несложно, я думаю...)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.