| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Простой вопрос |
| Автор: Алек 12.8.2004, 09:41 |
| Если я использую один и тот же массив с переменными элементамми несколько раз в процедуре, и потом еще в какой-нибудь подпроцедуре, то может по проще запись есть? procedure Get_1(g,k,d,N4U : real);{} var Rx: array[1..4, 1..4] of real; begin Rx[1,1]:=1; Rx[1,2]:=0; Rx[1,3]:=0; Rx[1,4]:=0; Rx[2,1]:=0; Rx[2,2]:=cos(kren); Rx[2,3]:=sin(kren); Rx[2,4]:=0; Rx[3,1]:=0; Rx[3,2]:=-sin(kren); Rx[3,3]:=cos(kren); Rx[3,4]:=0; Rx[4,1]:=0; Rx[4,2]:=0; Rx[4,3]:=0; Rx[4,4]:=1; end; И что вообще называется "хорошим тоном"? |
| Автор: Akella 12.8.2004, 10:07 |
| думаю, что нету. Только не пойму, причем здесь входные параметры g,k,d,N4U : real??? |
| Автор: Ripper 12.8.2004, 10:42 |
| Хороший тон наверно красивое написание программы чтобы другие могли разобратся.. где то на форуме есть статья про это. Наверно только если перебором при случае можно пользоватся(for i:=1 to ..и заполнять значениями I если надо конечно), а так приходится заполнять каждый элемент массива самому.. хотя я точно незнаю. |
| Автор: Berill 12.8.2004, 13:59 |
| Что-то мне подсказывает, что эту самую матрицу в задаче получаете каким-то образом. Не так ли? |
| Автор: p0s0l 12.8.2004, 14:03 |
| Модератор: Название темы должно отражать ее суть! |
| Автор: Guest 12.8.2004, 14:05 | ||
|
| Автор: Guest 12.8.2004, 14:07 | ||
Или так:
|
| Автор: decoder 12.8.2004, 14:11 |
| Алек Всё у тебя правильно написано А всяких там гуестав не слушай - дезинформаторы гражданской наружности |
| Автор: Berill 12.8.2004, 14:18 | ||||
Интересно, end'ы для чего поставлены? |
| Автор: decoder 12.8.2004, 14:21 | ||
|
| Автор: Guest 12.8.2004, 14:27 |
| Ай .......... мли ........ сори, забылся совсем Эт кусок кода по заполнению многомерного массива. Я вырезал процедурки а энды забыл.... А вообще Алек все утя правильно, только если измерений в массиве не 2, а 16 и в них не по 4 а 520 вклалдок, то.................... |
| Автор: Berill 12.8.2004, 14:31 |
| Алек, постарайся найти формулу, по которой нужно заполнять массивы, и тогда просто используй циклы. |
| Автор: Алек 13.8.2004, 17:02 | ||||||
Точно так - синусы, косинусы будут высчитываться несколько раз, при остальных постоянных. В этом-то и беда. Минимум три подпроцедуры ее используют, и каждый раз - вводи заново
Хороший совет, но где ж найти такую формулу??? Может, если сделать копию - массив-константу, а потом ее присваивать рабочиму массиву, добовляя переменные элементы. Тогда, хотябы в подпрограмме не надо повторться.
Да, это я не все из проги убрал |
| Автор: ChVovan 13.8.2004, 17:23 | ||
|
| Автор: p0s0l 13.8.2004, 17:40 | ||||
А можно еще так:
Или еще так - вначале делаем всё нулями, а потом заполняем ненулевые элементы:
|