|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.03.2017, 14:48 | #1 |
Новичок
Джуниор
Регистрация: 31.03.2017
Сообщений: 2
|
Как задать матрицу, в которой каждый элемент может содержать переменное множество чисел?
Для решения системы уравнений мне необходимо задать параметры. Выглядит это примерно так
А B C D A1 B1 C1 D1 A2 B2 C2 D2 Am Bm Cm Dm, где m-количество "строк" с однотипными переменными задаётся изначально. (В моём случае А В С D- параметры производственных помещений, m-количество помещений, соответственно для каждого помещения они свои) С этим я разобрался ( путём создания матрицы векторов или же динамической двумерной матрицы) и файла с данными, скоторый считывается в матрицу.) Соответственно получаются уравнения типа matrix[1][2]*a+matrix[1][3]*b=c Но все усложняется тк переменная В включает в себя тоже множество чисел (В11 В12 В13,...В1i ) где i-количество переменных В, тоже задётся изначально. Также в отдельных случаях В11 может включать множество В111 В112 В113 В11j . Аналогично и с другими переменными.На ум приходит попытаться сделать матрицу векторов, состоящую из векторов (переменной длины). Грубо говоря "матрицу из матриц" Возможно ли это вообще и возможно ли будет в этом случае обращаться к переменным, при написании уравнений. Или возможно другое решение? |
31.03.2017, 14:56 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Вариантов есть у меня, только нужно ли... как вы потом будете с этим оперировать? Особенно учитывая, что универсальное решение будет не очень красиво выглядеть...
Может проще сразу размерность матрицы увеличивать и оперировать уже: A1 B11 B12 B13 C1 D1 A2 B21 B22 B23 C2 D2 ? |
01.04.2017, 19:20 | #4 |
Новичок
Джуниор
Регистрация: 31.03.2017
Сообщений: 2
|
Так дело в том что количество переменных "В" тоже многомерно и переменно для каждой строки.
Грубо говоря может возникнуть ситуация А1 В11 В12 В13 С1 D1 А2 В21 В22 В23 В24 В25 С2 В2 (в данном случае в первую строку нужно буде добавить В14 В15 и присвоить им нулевые значения) но само количество будет уже равно 5ти.И на ум приходит только задать В21 В22 В23 В24 В25 вектором , задавая его длину вводом с консоли. Аналогично и с другими переменными. Вот и не знаю возможно ли это вообще задать Касаемо создания динамического многомерного массива, ввести в него исходные данные с файла будет невозможно( это только для двумерного массива ), выходит, нужно будет заполнять его из созданной базы данных? Последний раз редактировалось ofsavier; 01.04.2017 в 19:29. |
02.04.2017, 03:48 | #5 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
" попытаться сделать матрицу векторов, состоящую из векторов (переменной длины)"
А как ты себе это представляешь? Вектор-это вектор, а матрица -это матрица. Это типа разные сущности. Как ты их объединишь? Я не понимаю этого... Покажи на простеньком коде. ___________________________________ ___________________________________ ___________________________________ _____________________ ___________________________________ ___________________________________ ___________________________________ _____________________ 1) можно сделать не один, а два массива. В первом будет хранится данные, а во втором как эти данные расположены в 1-м массиве, т.е. управление. 2) если надо, например "А1 В11 В12 В13 С1 D1" ( в процессе работы программы) добавить "В14 В15", тогда можно сделать строку "string" и добавлять: 0.jpg конечно я говорил о массиве управления... и соответственно нужно добавить соответствующую информацию во второй массив с данными. 3) можно сделать не строку, а массив строк (для А,В,С,D). 4) конечно в этом случае никто не говорит, что например, А12 - это элемент массива А с индексом 1и2.... А скорее, потом при обработке, нужно будет искать соответствие из управляющей последовательности А12 и соответствующей данных 2-го массива. (не знаю как подробней описать - это нужно чувствовать). Сложновато... но у тебя же задача соответствующая: массив массивов, из массивов..... и всё может быть переменной длины. ___________________________________ ___________________________________ ___________________________________ _____________________ ___________________________________ ___________________________________ ___________________________________ _____________________ Еще вариант со "СПИСКАМИ". Типа такого (динамически создаются экземпляры структуры и определяются между ними взаимосвязи - это когда указатель из текущего экземпляра "смотрит" на следующий экземпляр ): 0 (1).jpg (я сделал с разными именами ссылок h1,h2,h3,h4 чтобы было понятнее идея, а вообще, для генерации бесконечной последовательности из экземпляров структуры, можно обойтись всего лишь 2-3 именами). Да, я понимаю что пока в структуре присутствует только одно ссылка - это мало кому интересно, потому что кроме "змейки" ничего не реализовать, но если ссылок будет хотя бы 2-е (пример): 001.jpg Хотя нет, лучше 4-ри (для симуляции матрицы): 0 (2).jpg а если надо добавить "новый узел" (например "А2"), тогда необходимо будет создать его динамически и перестроить связи: 0 (3).jpg При таком подходе нужно будет внимательно следить за взаимосвязями между экземплярами структуры-данных... ___________________________________ ___________________________________ ___________________________________ _____________________ ___________________________________ ___________________________________ ___________________________________ _____________________ В обоих этих вариантах стандартные методы доступа к данным и обработки информации (как использовали при "обычных матрицах"): Код:
Код:
Последний раз редактировалось ura_111; 02.04.2017 в 14:19. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Блочный элемент не может содержать блочные и строчные элементы вместе? | Aqua77 | HTML и CSS | 9 | 15.02.2017 08:55 |
[VB 2010]: Выбрать максимальный элемент в третьей строке, составить новую матрицу, каждый элемент которой равен соответствующему элементу матрицы Z, делённому на этот максимум. | Fake taxi | Помощь студентам | 0 | 17.12.2016 12:23 |
Задан массив целых чисел, который может содержать повторяющиеся члены. Вычислить сколько чисел входят в массив более чем по одному | nubiknovo | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 20.11.2013 00:50 |