0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
1 | |
Размер матрицы24.08.2010, 01:26. Показов 9689. Ответов 39
Метки нет (Все метки)
Люди, помогите пожалуйста!
У меня есть задание: создать библиотеку функций для работы с матрицами. Можно ли сделать ,так что в параметрах функций были только матрицы , а размеры их программа знала сама??? Объясните пожалуйста новичку! Заранее благодарен.
0
|
24.08.2010, 01:26 | |
Ответы с готовыми решениями:
39
Нужно считать размер квадратной матрицы из файла.Размер заранне считать не известным размер матрицы Размер vs. размерность матрицы Задать размер матрицы |
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
24.08.2010, 17:27 | 21 |
Кстати, sizeof возвращает размер переменной (в твоем случае - массива) в байтах. Так что, чтобы узнать число элементов в массиве, нужно этот размер разделить на размер одного элемента. Но повторюсь, это сработает только для статических массивов.
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 17:30 [ТС] | 22 |
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||||||||||||||||||||||
24.08.2010, 17:40 | 23 | |||||||||||||||||||||||||
Классы обеспечивают сложение и умножение матриц, умножение/деление матриц и векторов на число, умножение матриц на вектора, возведение матрицы в степень. Построение единичной и нулевой матриц заданных размеров.
Объявление и реализация классов: vector.hpp
vector.cpp
matrix.hpp
matrix.cpp
Тестирование класса matrix: main.cpp
Вычисления определителя и обратной матрицы я делать не стал, но это добавить не трудно.
1
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 17:44 [ТС] | 24 |
Большое человеческое спасибо!!!
Но у меня вопрос что это за разрешение 'hpp'? Это как ''.H'' для С++?
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
24.08.2010, 17:47 | 25 |
andreyich, это один из форматов расширения для заголовочных файлов С++
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 18:23 [ТС] | 26 |
Есть проблемка: не могу подключить файлы!
Напомните пожалуйста как правильно использовать #ifndef и #endif?
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
24.08.2010, 18:26 | 27 | |||||
andreyich,
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
24.08.2010, 18:27 | 28 |
andreyich, эти директивы не отвечают непосредственно за подключение файла, они лишь препятствуют его повторному подключению. Тебе же нужно создать файлы с теми же именами и содержимым, которое я привел, и подключить их к проекту. Ничего менять, тем более директивы препроцессора, не надо.
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
||||||
24.08.2010, 18:30 [ТС] | 29 | |||||
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
24.08.2010, 18:32 | 30 |
andreyich, так сразу и не скажешь. А в чем ошибка заключается?
Кстати, у тебя класс матрицы совсем не содержит переменных-членов? Конструкторов? Деструктора?
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 18:35 [ТС] | 31 |
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
24.08.2010, 18:38 | 32 |
Да вроде синтаксически все верно. По крайней мере, если судить по тому участку кода, что ты привел.
Выложи весь код программы.
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|||||||||||
24.08.2010, 18:43 [ТС] | 33 | ||||||||||
Может чем-то поможет
matrix.cpp
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
24.08.2010, 18:55 | 34 |
Вообще непонятно. Почему в "main.cpp" подключается "matrix.hpp", а в "matrix.cpp" - "matrix.h"? И что за класс у тебя такой непонятный - MATRIX? По сути - это набор функций, никаких данных он не инкапсулирует. Хотя основной идеей определения класса "матрица" было то, что экземляр этого класса помимо внутреннего представления матрицы (которого у тебя тоже нет) должен хранить еще и ее размеры.
Ты не обижайся, но код, который ты привел - ужасен. Непонятные идентификаторы у методов класса (по названию функции фиг догадаешься, что она должна делать), произвольные отступы у вложенных блоков... Ты бы хоть комментарии написал, что к чему, а то и за полдня в таком коде не разберешься.
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 19:00 [ТС] | 35 |
Я же говорю что это пробник. А мэйн я вобще еще не лез
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
24.08.2010, 19:16 | 36 |
andreyich, ты пойми, если ты хочешь и дальше в таком виде развивать свою библиотеку, можно абсолютно спокойно избавиться класса - здесь он совершенно не нужен. Нужно просто реализовать отдельно все функции, которые были в нем определены. Все равно введение этого класса никаких преимуществ ни тебе, ни гипотетическому программисту, который будет использовать твою библиотеку, не принесет.
По сути, класс "матрица" - это некая абстракция. Ты должен выбрать представление этой абстракции - т.е. способ хранения данных, описывающих матрицу (к примеру, двумерный массив типа double и два натуральных числа - размеры матрицы). Также ты должен определить механизмы, которые будут связывать высокоуровневые операции, работающие с матрицами, с внутренним представлением самих матриц, - т.е. конструкторы и методы твоего класса. Если отнесешься к процессу проектирования серьезно, тогда с твоей библиотекой будет удобно работать, и, что более важно, вероятность ошибок при работе с ней будет стремиться к минимуму.
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 19:27 [ТС] | 37 |
Я так понимаю ,если я в отдельном класе просто пропишу фу-и и подключу он тоже будет работать?? Я просто в этих делах нуб.
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||||||
24.08.2010, 19:31 | 38 | ||||||||||
Нет, я просто к тому, что с такой реализацией матриц в классе нет необходимости. Т.е. вместо этого:
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 19:34 [ТС] | 39 |
Я про это и спрашивал.
Буду исправлятся)))
0
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
24.08.2010, 21:26 [ТС] | 40 |
Новая ошибка: "Linker Eror: Undefined symbol _main in module c0.ASM"
0
|
24.08.2010, 21:26 | |
24.08.2010, 21:26 | |
Помогаю со студенческими работами здесь
40
Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки. размер матрицы 7х7.заранее спасибо Найти минимальный размер матрицы размером m x n Как задать размер матрицы в конструкторе класса? Выражение должно иметь константное значение (размер матрицы) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |