|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
Размер матрицы24.08.2010, 01:26. Показов 10984. Ответов 39
Метки нет (Все метки)
Люди, помогите пожалуйста!
У меня есть задание: создать библиотеку функций для работы с матрицами. Можно ли сделать ,так что в параметрах функций были только матрицы , а размеры их программа знала сама??? Объясните пожалуйста новичку! Заранее благодарен.
0
|
|
| 24.08.2010, 01:26 | |
|
Ответы с готовыми решениями:
39
Нужно считать размер квадратной матрицы из файла.Размер заранне считать не известным размер матрицы Размер vs. размерность матрицы |
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 24.08.2010, 17:27 | |
|
Кстати, sizeof возвращает размер переменной (в твоем случае - массива) в байтах. Так что, чтобы узнать число элементов в массиве, нужно этот размер разделить на размер одного элемента. Но повторюсь, это сработает только для статических массивов.
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
| 24.08.2010, 17:30 [ТС] | |
|
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||||||||||||||||||||||
| 24.08.2010, 17:40 | ||||||||||||||||||||||||||
|
Классы обеспечивают сложение и умножение матриц, умножение/деление матриц и векторов на число, умножение матриц на вектора, возведение матрицы в степень. Построение единичной и нулевой матриц заданных размеров.
Объявление и реализация классов: vector.hpp
vector.cpp
matrix.hpp
matrix.cpp
Тестирование класса matrix: main.cpp
Вычисления определителя и обратной матрицы я делать не стал, но это добавить не трудно.
1
|
||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
| 24.08.2010, 17:44 [ТС] | |
|
Большое человеческое спасибо!!!
Но у меня вопрос что это за разрешение 'hpp'? Это как ''.H'' для С++?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 24.08.2010, 17:47 | |
|
andreyich, это один из форматов расширения для заголовочных файлов С++
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
| 24.08.2010, 18:23 [ТС] | |
|
Есть проблемка: не могу подключить файлы!
Напомните пожалуйста как правильно использовать #ifndef и #endif?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 24.08.2010, 18:26 | ||||||
|
andreyich,
0
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 24.08.2010, 18:27 | |
|
andreyich, эти директивы не отвечают непосредственно за подключение файла, они лишь препятствуют его повторному подключению. Тебе же нужно создать файлы с теми же именами и содержимым, которое я привел, и подключить их к проекту. Ничего менять, тем более директивы препроцессора, не надо.
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
||||||
| 24.08.2010, 18:30 [ТС] | ||||||
0
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 24.08.2010, 18:32 | |
|
andreyich, так сразу и не скажешь. А в чем ошибка заключается?
Кстати, у тебя класс матрицы совсем не содержит переменных-членов? Конструкторов? Деструктора?
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
| 24.08.2010, 18:35 [ТС] | |
|
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 24.08.2010, 18:38 | |
|
Да вроде синтаксически все верно. По крайней мере, если судить по тому участку кода, что ты привел.
Выложи весь код программы.
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
||||||||||||
| 24.08.2010, 18:43 [ТС] | ||||||||||||
|
matrix.cpp
0
|
||||||||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 24.08.2010, 18:55 | |
|
Вообще непонятно. Почему в "main.cpp" подключается "matrix.hpp", а в "matrix.cpp" - "matrix.h"? И что за класс у тебя такой непонятный - MATRIX? По сути - это набор функций, никаких данных он не инкапсулирует. Хотя основной идеей определения класса "матрица" было то, что экземляр этого класса помимо внутреннего представления матрицы (которого у тебя тоже нет) должен хранить еще и ее размеры.
Ты не обижайся, но код, который ты привел - ужасен. Непонятные идентификаторы у методов класса (по названию функции фиг догадаешься, что она должна делать), произвольные отступы у вложенных блоков... Ты бы хоть комментарии написал, что к чему, а то и за полдня в таком коде не разберешься.
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
| 24.08.2010, 19:00 [ТС] | |
|
Я же говорю что это пробник. А мэйн я вобще еще не лез
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 24.08.2010, 19:16 | |
|
andreyich, ты пойми, если ты хочешь и дальше в таком виде развивать свою библиотеку, можно абсолютно спокойно избавиться класса - здесь он совершенно не нужен. Нужно просто реализовать отдельно все функции, которые были в нем определены. Все равно введение этого класса никаких преимуществ ни тебе, ни гипотетическому программисту, который будет использовать твою библиотеку, не принесет.
По сути, класс "матрица" - это некая абстракция. Ты должен выбрать представление этой абстракции - т.е. способ хранения данных, описывающих матрицу (к примеру, двумерный массив типа double и два натуральных числа - размеры матрицы). Также ты должен определить механизмы, которые будут связывать высокоуровневые операции, работающие с матрицами, с внутренним представлением самих матриц, - т.е. конструкторы и методы твоего класса. Если отнесешься к процессу проектирования серьезно, тогда с твоей библиотекой будет удобно работать, и, что более важно, вероятность ошибок при работе с ней будет стремиться к минимуму.
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
||
| 24.08.2010, 19:27 [ТС] | ||
|
Я так понимаю ,если я в отдельном класе просто пропишу фу-и и подключу он тоже будет работать?? Я просто в этих делах нуб.
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||||||||
| 24.08.2010, 19:31 | ||||||||||||
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
| 24.08.2010, 19:34 [ТС] | |
|
Я про это и спрашивал.
Буду исправлятся)))
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2010
Сообщений: 16
|
|
| 24.08.2010, 21:26 [ТС] | |
|
Новая ошибка: "Linker Eror: Undefined symbol _main in module c0.ASM"
0
|
|
| 24.08.2010, 21:26 | |
|
Помогаю со студенческими работами здесь
40
Задать размер матрицы
Найти минимальный размер матрицы размером m x n Как задать размер матрицы в конструкторе класса?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|