![]() |
|
Модераторы: Poseidon |
![]()
|
|
| stella_betelgeize |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.11.2007 Репутация: нет Всего: нет |
Задание сначала было такое:
Написать программу, выполняющую в матрице размерностью n*m перестановку строк и столбцов (транспонирование матрицы). Значения m и n программа должна запрашивать в диалоговом режиме, память под матрицу следует распределять динамически. Написать функции: 1.-заполнения двумерного массива случайными числами из диапазона –100, +100; 2.-вывода двумерного массива; 3.-перестановки строк и столбцов матрицы. С этим я благополучно справилась. Но затем задание преобразовалось в такое: На основе предыдущего задания необходимо написать класс, имеющий конструкторы (без параметров, с параметрами, копировщик), деструктор, функции ввода-вывода, функции, решающие поставленную задачу. Здесь тоже всё неплохо, кроме самой функции транспонирования. Теперь она перестала переворачивать матрицу: Ishodnaya matritsa: -29 99 75 -84 84 -34 Transponirovannaya matritsa: -29 -84 99 84 75 -34 Press any key to continue Подскажите пожалуйста, в чем проблема!
|
|||
|
||||
| under_sun |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 3.10.2007 Где: Ебург Репутация: 7 Всего: 17 |
Когда ты печатаешь транспонированную матрицу, размерность у тебя сохраняется n x m, а надо m x n.
--------------------
TMTOWTDI |
|||
|
||||
| orthrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 30.10.2007 Где: г. Усть-Илимск(Ир кутская обл.) Репутация: 5 Всего: 16 |
Еще у тебя конструктор копирования реализован не до конца.
-------------------- У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой ![]() |
|||
|
||||
| stella_betelgeize |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.11.2007 Репутация: нет Всего: нет |
under_sun, спасибо за помощь!
orthrus, а чего в нем не хватает? В копировщике нужно каждый объект класса копировать, а я только n и m..? Вот это наверное не то A=new int [n*m]; |
|||
|
||||
| orthrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 30.10.2007 Где: г. Усть-Илимск(Ир кутская обл.) Репутация: 5 Всего: 16 |
Массив нужной размерности создали а вот данные из the в него скопированы небыли. После того как была выделенна область памяти для массива A=new int [n*m]; в нем будет содержаться все что угодно но не копируемый массив.
Это сообщение отредактировал(а) orthrus - 1.12.2007, 13:37 -------------------- У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой ![]() |
|||
|
||||
| stella_betelgeize |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.11.2007 Репутация: нет Всего: нет |
Разобралась! Добавила цикл:
Спасибо! |
|||
|
||||
| stella_betelgeize |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.11.2007 Репутация: нет Всего: нет |
Теперь к задаче потребовалось добавить операторы : +, =, * на число, (когда число находится справа и слева, т. е. метод и друг), операторы ввода-вывода.
Вот, что у меня получилось:
Почему конструктор работает перед строкой 235? *slozhenie matrits* Vvedite kolichestvo strok n 2 Vvedite kolichestvo stolbtsov m 2 -20 -54 61 30 Vvedite kolichestvo strok n 2 Vvedite kolichestvo stolbtsov m 2 -17 41 36 -31 Vvedite kolichestvo strok n 2 Vvedite kolichestvo stolbtsov m 2 B + C= -17 41 36 -31 А еще не складывает матрицы... =( И здесь тоже конструктор выскакивает (241 и 247): *umnozhenie* (friend) Vvedite matritsu 2 2 3 3 Vvedite chislo 4 Vvedite kolichestvo strok n 2 Vvedite kolichestvo stolbtsov m 2 B * x = 8 8 12 12 *umnozhenie* (method) Vvedite matritsu 3 3 4 4 Vvedite chislo 5 Vvedite kolichestvo strok n 2 Vvedite kolichestvo stolbtsov m 2 x * B = 15 15 20 20 Press any key to continue |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |