powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Строка матрицы как параметр для процедуры
6 сообщений из 6, страница 1 из 1
Строка матрицы как параметр для процедуры
    #39458746
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравстуйте.
К примеру, объявлен двумерный массив:
TMatrix=array of array of Extended;
Matrix:TMatrix
Предположим что в дальнейшем Matrix имеет 4 строки и 6 столбцов (4Х6);
Есть процедура, которая работает с массивом типа TMatrix и скажем, умножает каждый элемент массива на определенное число
Например, ScalarMultiplication(M:TMatrix; Value:Extended);
Скажите, а можно как нибудь передать отдельную строку этой матрицы в качестве параметра (а не целую матрицу), чтобы не создавать временную переменную типа TMatrix, копировать в нее нужную строку, потом передать в процедуру, и потом результать скопировать в нужную строку матрицы.
Я просто заметил что Length(Matrix[Номер строки]] определяет количество столбцов заданной строки, вот я и подумал может и с отдельной строкой можно обращаться как с матрицей размера 1х6 (кол-во строк (равно 1 т.к нам нужна одна строка)хкол-во столбцов)
...
Рейтинг: 0 / 0
Строка матрицы как параметр для процедуры
    #39458763
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85, только скопировав эту строку как отдельный экземпляр TMatrix и передать этот экземпляр ByRef.
...
Рейтинг: 0 / 0
Строка матрицы как параметр для процедуры
    #39458764
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
TLineMatrix=array of Extended;
TMatrix = array of TLineMatrix
...
Рейтинг: 0 / 0
Строка матрицы как параметр для процедуры
    #39458770
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Damir 85!
You wrote on 24 мая 2017 г. 12:24:00:

Damir 85> TMatrix=array of array of Extended;объяви его в два этапа:
TMatrixRow=array of Extended;
TMatrix=array of TMatrixRow;
тогда сможешь передавать в процедуру конкретную строку
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Строка матрицы как параметр для процедуры
    #39458772
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да кстати, вариант)
спасибо
...
Рейтинг: 0 / 0
Строка матрицы как параметр для процедуры
    #39459040
dalx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разве в таком варианте ScalarMultiplication(M:TMatrix; Value:Extended) будет передан не только указатель на массив? а в самой функции М - лишь копия этого указателя? я в том сысле - что сама матрица не будет копироваться. дабы работать с самим указателем - напишите ScalarMultiplication(var M:TMatrix; var Value:Extended). и передавайте, к примеру, номер строки массива. что то типа ScalarMultiplication(var M:TMatrix; var Value:Extended; var aRow:Integer = -1). проверяйте на <> -1 и/или на вхождение в массив и умножайте всю или только строку и т.п.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Строка матрицы как параметр для процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]