Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ Классы и операции над ними

Автор: RainGrey 28.05.2006 22:27

Ввести класс для работы с одномерным массивом. Реализовать следующие операторы:
1.Сложение(вычитание) двух массивов
2.Умножение массивов
3.Умножение массива на скаляр

Автор: klem4 28.05.2006 22:34

Это приказ ? Можно приступать к работе ? dry.gif

Цитата
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

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

Автор: klem4 28.05.2006 23:11

Цитата
Lazarus


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

Автор: RainGrey 28.05.2006 23:14

Цитата(klem4 @ 28.05.2006 19:11) *

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

на нем же wacko.gif

Автор: volvo 28.05.2006 23:28

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

Про перегрузку операций читай здесь:
http://forum.pascal.net.ru/index.php?showtopic=8713

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