Ввести класс для работы с одномерным массивом. Реализовать следующие операторы:
1.Сложение(вычитание) двух массивов
2.Умножение массивов
3.Умножение массива на скаляр
![]() |
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
RainGrey |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Ввести класс для работы с одномерным массивом. Реализовать следующие операторы:
1.Сложение(вычитание) двух массивов 2.Умножение массивов 3.Умножение массива на скаляр |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Это приказ ? Можно приступать к работе ?
![]() Цитата 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! FAQ : ООП Будут конкретные вопросы, поможем, решать за тебя полностью никто не будет. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Определи, что ты имеешь в виду под перемножением одномерных массивов...
Со сложением и умножением на скаляр все ясно, но перемножать массивы по тем же правилам, по которым перемножаются матрицы - нельзя (массивы не являются сцепленными матрицами). klem4, напрасно... Нет в поиске ничего подобного... Перемножения в частности. Для матриц - есть КОЕ-ЧТО, а вот для векторов - нет... P.S. Стоп... RainGrey, какой у тебя компилятор? Цитата Реализовать следующие операторы: Перегрузка операторов поддерживается только 32-битными компиляторами Паскаля, да и то не всеми... |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата массивы по тем же правилам, по которым перемножаются матрицы - нельзя Может я чего-то не понял, но, если у нас етсь 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";'
|
RainGrey |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
P.S. Стоп... RainGrey, какой у тебя компилятор?
Lazarus Я не прошу решать за меня всю задачу. Мне бы пример похожий, чтобы разобраться. А то сплошное белое пятно ![]() |
klem4 |
![]()
Сообщение
#6
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата Lazarus А сдавать ты не чем будешь ? (работу показывать) -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
RainGrey |
![]()
Сообщение
#7
|
Группа: Пользователи Сообщений: 3 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Раз Lazarus, то переезжаем в 32-бита...
Про перегрузку операций читай здесь: Перегрузка операций, Компилятор FPC 2.0.x (там есть пример для матриц, но переделать под вектора будет несложно, я думаю...) |
![]() ![]() |
![]() |
Текстовая версия | 2.06.2023 19:42 |