|
|
|
Строка матрицы как параметр для процедуры
|
|||
|---|---|---|---|
|
#18+
Здравстуйте. К примеру, объявлен двумерный массив: 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 т.к нам нужна одна строка)хкол-во столбцов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 12:11:52 |
|
||
|
Строка матрицы как параметр для процедуры
|
|||
|---|---|---|---|
|
#18+
Damir_85, только скопировав эту строку как отдельный экземпляр TMatrix и передать этот экземпляр ByRef. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 12:23:25 |
|
||
|
Строка матрицы как параметр для процедуры
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 12:24:13 |
|
||
|
Строка матрицы как параметр для процедуры
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 12:26:17 |
|
||
|
Строка матрицы как параметр для процедуры
|
|||
|---|---|---|---|
|
#18+
да кстати, вариант) спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 12:27:28 |
|
||
|
Строка матрицы как параметр для процедуры
|
|||
|---|---|---|---|
|
#18+
разве в таком варианте ScalarMultiplication(M:TMatrix; Value:Extended) будет передан не только указатель на массив? а в самой функции М - лишь копия этого указателя? я в том сысле - что сама матрица не будет копироваться. дабы работать с самим указателем - напишите ScalarMultiplication(var M:TMatrix; var Value:Extended). и передавайте, к примеру, номер строки массива. что то типа ScalarMultiplication(var M:TMatrix; var Value:Extended; var aRow:Integer = -1). проверяйте на <> -1 и/или на вхождение в массив и умножайте всю или только строку и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 16:49:48 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=143&tid=2042258]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 333ms |

| 0 / 0 |
