|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2014, 22:28 | #1 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 64
|
перегрузка операторов. без подсказки никак..
перегрузка операторов..
ЗАДАНИЕ: М2=М1-V – из М1 удалить строки, сумма элементов которых больше суммы элементов V. где V- массив, М1 и М2 -матрицы. То есть, если я правильно понимаю, в перегрузке нужно работать с преобразованными матрицами. Строки и суммы элементов матриц я нашла..Понимаю что нужно поставить условие,чтоб удалять строки из матрицы, сумма элементов которых больше суммы элементов массива V.То есть преобразовываем матрицу.. то есть Код:
А как правильно это сделать, чтоб потом использовать ее для перезагрузки - теряюсь: нужно новый класс создавать?или как?? подскажите что мне делать, как реализовать свою программку правильно.. свой предположительный вариант реализации этого условия я взяла в комментарии, т.к. не знаю верно ли, и на такой вариант выбивает ошибки Код:
|
19.04.2014, 00:25 | #2 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Все проще. Для перегрузки operator- у матрицы нужно в класс добавить метод:
Код:
Он должен создать новую матрицу; записать в нее только те строки, у которых сумма <= суммы переданного массива; вернуть эту матрицу. А потом в мейне просто написать Код:
|
19.04.2014, 22:48 | #3 | |
Пользователь
Регистрация: 06.11.2012
Сообщений: 64
|
это я затупила..экспериментировала по разному.. а когда код копировала - неувидела, что не стерла..
Цитата:
Код:
на такой вариант у меня ошибки выбивает(((( 93 `i' undeclared (first use this function) 95 invalid types `float[int]' for array subscript я наверное не понимаю главного для себя- как передавать правильно массивы и матрицы в перегрузке, если так не верно.. Последний раз редактировалось Stilet; 20.04.2014 в 09:38. |
|
20.04.2014, 01:29 | #4 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Примерно так, только сначала ж нужно определить, сколько строк в результирующей матрице останется; потом выделить память в ней; и только потом копировать.
|
21.04.2014, 13:51 | #5 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 64
|
сделала вот так:
Код:
96 cannot convert `float*' to `float' in assignment 100 `((matrica*)this)->matrica::b' cannot be used as a member pointer, since it is of type `float*' Не правильно передаю данные что ли в методе?Или чего-то недописала?? Как сделать чтоб работало нормально? |
21.04.2014, 14:49 | #6 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
На колене, идея думаю понятна.
Код:
Помог? Оставляем отзыв =)
|
21.04.2014, 16:44 | #7 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 64
|
вот как я сделала
Код:
И почему-то неправильно считается сумма элементов массива. |
21.04.2014, 17:47 | #8 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
1) в строке
Код:
2) Вынеси запрос размерности матрицы из конструктора куда-то, хотя бы в функцию ввода 3) Код:
4) Количество строк в новой матрице считается не так, как должно быть по заданию; 5) Еще там что-то было, забыл ) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перегрузка операторов | Granus | Общие вопросы C/C++ | 2 | 11.04.2012 20:52 |
С++,перегрузка операторов | colesik | Помощь студентам | 0 | 23.12.2010 23:07 |
Перегрузка операторов | _-Re@l-_ | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 20.11.2010 13:23 |
перегрузка операторов | mashuta_ya | Общие вопросы C/C++ | 0 | 01.10.2010 18:54 |
Перегрузка операторов, Организация перегрузки операторов | chagin_yav | Помощь студентам | 2 | 12.05.2008 09:15 |