Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 15:55   #1
nuke1
Новичок
Джуниор
 
Регистрация: 10.12.2011
Сообщений: 4
По умолчанию Перегрузить оператор %

Подскажите пожалуйста как перегрузить оператор % для матрицы!

Вот примеры как для * и /

statik statik:perator * (statik &a1) {
statik tmp;
if(this==0) return a1;
for(int i=0; i<a1.dim; i++) {
for(int j=0; j<a1.dim; j++)
{
tmp.mas[i][j] = 0;
for(int k=0; k<a1.dim; k++)
tmp.mas[i][j]=(mas[i][k]*a1.mas[k][j]);
}
}
tmp.dim=a1.dim;
return tmp;
}

statik statik:perator / (statik &a1) {
statik tmp;
if(this==0) return a1;
a1.transMas();
for(int i=0;i<a1.dim;i++){
for(int j=0;j<a1.dim;j++){
tmp.mas[i][j]=mas[i][j]*a1.mas[i][j];
}
}
a1.transMas();
tmp.dim = a1.dim;
return tmp;
}
nuke1 вне форума Ответить с цитированием
Старый 10.12.2011, 16:56   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Код:
class T
{
...
public:
  T operator%(const T&)
  {
    // Реализация
  }
...
};
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 10.12.2011, 20:13   #3
nuke1
Новичок
Джуниор
 
Регистрация: 10.12.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Blade Посмотреть сообщение
Код:
class T
{
...
public:
  T operator%(const T&)
  {
    // Реализация
  }
...
};
Ну это само собой, а реализацию как написать? мне кажется там по другому как-то оО
nuke1 вне форума Ответить с цитированием
Старый 10.12.2011, 20:14   #4
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

и чё должен делать етот % ?
onewho вне форума Ответить с цитированием
Старый 11.12.2011, 01:50   #5
nuke1
Новичок
Джуниор
 
Регистрация: 10.12.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
и чё должен делать етот % ?
Возвращает остаток
nuke1 вне форума Ответить с цитированием
Старый 11.12.2011, 02:05   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

какой остаток в матрице?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.12.2011, 02:21   #7
nuke1
Новичок
Джуниор
 
Регистрация: 10.12.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
какой остаток в матрице?
Матрица на матрицу делится через оператор %
nuke1 вне форума Ответить с цитированием
Старый 11.12.2011, 02:37   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
В результате задача о делении матриц сводиться к умножению обратной матрицы матрице В на матрицу А.
и какой там остаток?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.12.2011, 03:31   #9
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Пепел Феникса
ты мух не ловишь. автор видимо хочет вернуть новую матрицу, элементы которой являются результатом поэлементного применения оператора % к элементам исходных матриц, т.е
[RET]i,j = [A]i,j % [B]i,j
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 11.12.2011 в 03:38.
pproger вне форума Ответить с цитированием
Старый 11.12.2011, 10:29   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
автор видимо хочет вернуть новую матрицу, элементы которой являются результатом поэлементного применения оператора % к элементам исходных матриц, т.е
а мы об этом догадаться должны были?
лично я не догадался
ну пусть ТС уточнит.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается перегрузить оператор / Сотников Роман Помощь студентам 3 28.02.2011 03:14
Оператор выбора или условный оператор[Перенесено из JavaSE] merhaba1992 Помощь студентам 1 20.01.2011 17:06
требуется перегрузить заданную функцию RodionL3 Помощь студентам 1 22.04.2010 10:45