IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Классы и операции над ними, На Вас последняя надежда...
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


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


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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

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


FAQ : ООП

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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Определи, что ты имеешь в виду под перемножением одномерных массивов...

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

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

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

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


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
массивы по тем же правилам, по которым перемножаются матрицы - нельзя


Может я чего-то не понял, но, если у нас етсь 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]

Я не прав ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 3
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


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

Я не прошу решать за меня всю задачу. Мне бы пример похожий, чтобы разобраться.
А то сплошное белое пятноsad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Lazarus


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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 3
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


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

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

на нем же wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






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

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

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

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 21.11.2017 17:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"