Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простой вопрос 
:(
    Опции темы
Алек
  Дата 12.8.2004, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 2.7.2004

Репутация: нет
Всего: нет



Если я использую один и тот же массив с переменными элементамми несколько раз в процедуре,
и потом еще в какой-нибудь подпроцедуре, то может по проще запись есть?

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;
И что вообще называется "хорошим тоном"?

PM MAIL   Вверх
Akella
Дата 12.8.2004, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



думаю, что нету. Только не пойму, причем здесь входные параметры g,k,d,N4U : real???
PM MAIL   Вверх
Ripper
Дата 12.8.2004, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



Хороший тон наверно красивое написание программы чтобы другие могли разобратся.. где то на форуме есть статья про это.
Наверно только если перебором при случае можно пользоватся(for i:=1 to ..и заполнять значениями I если надо конечно), а так приходится заполнять каждый элемент массива самому.. хотя я точно незнаю.



--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Berill
Дата 12.8.2004, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.7.2004
Где: Баку, Азербайджан

Репутация: нет
Всего: нет



Что-то мне подсказывает, что эту самую матрицу в задаче получаете каким-то образом. Не так ли?
PM MAIL ICQ   Вверх
p0s0l
Дата 12.8.2004, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Модератор: Название темы должно отражать ее суть!


--------------------
С уважением, г-н Посол.
PM   Вверх
Guest
Дата 12.8.2004, 14:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

For i := 1 to 5
 if i >= 5 then
.....................Заплняем
else end;


  Вверх
Guest
Дата 12.8.2004, 14:07 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Или так:
Код
For i:=1 to 4 do
 For k:=1 to 4 do
 .....................заплняем

end;

  Вверх
decoder
Дата 12.8.2004, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 18.5.2004
Где: Харьков(хохол, к сожалению)

Репутация: нет
Всего: -1



Алек Всё у тебя правильно написано thumbs-up.gif
А всяких там гуестав не слушай - дезинформаторы гражданской наружности mad.gif


--------------------
Молчать, я вас спрашиваю!
PM MAIL   Вверх
Berill
Дата 12.8.2004, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.7.2004
Где: Баку, Азербайджан

Репутация: нет
Всего: нет



Цитата(Guest @ 12.8.2004, 14:05)
Код

For i := 1 to 5
 if i >= 5 then
.....................Заплняем
else end;

{---------------------------}

For i:=1 to 4 do
For k:=1 to 4 do
.....................заплняем

end;



Интересно, end'ы для чего поставлены? baaa.gif
PM MAIL ICQ   Вверх
decoder
Дата 12.8.2004, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 18.5.2004
Где: Харьков(хохол, к сожалению)

Репутация: нет
Всего: -1



Цитата(Berill @ 12.8.2004, 14:18)
Интересно, end'ы для чего поставлены?
можт гуэст - вэбэшник?

Это сообщение отредактировал(а) decoder - 12.8.2004, 14:21
--------------------
Молчать, я вас спрашиваю!
PM MAIL   Вверх
Guest
Дата 12.8.2004, 14:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ай .......... мли ........ сори, забылся совсем
Эт кусок кода по заполнению многомерного массива. Я вырезал процедурки а энды забыл....
А вообще Алек все утя правильно, только если измерений в массиве не 2, а 16 и в них не по 4 а 520 вклалдок, то....................

  Вверх
Berill
Дата 12.8.2004, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.7.2004
Где: Баку, Азербайджан

Репутация: нет
Всего: нет



Алек, постарайся найти формулу, по которой нужно заполнять массивы, и тогда просто используй циклы. wink.gif

PM MAIL ICQ   Вверх
Алек
Дата 13.8.2004, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 2.7.2004

Репутация: нет
Всего: нет



Цитата(Berill @ 12.8.2004, 13:59)
Что-то мне подсказывает, что эту самую матрицу в задаче получаете каким-то образом. Не так ли?

Точно так - синусы, косинусы будут высчитываться несколько раз, при остальных постоянных. В этом-то и беда. Минимум три подпроцедуры ее используют, и каждый раз - вводи заново notify.gif
Цитата(Berill @ 12.8.2004, 14:31)
постарайся найти формулу, по которой нужно
заполнять массивы, и тогда просто используй циклы. wink.gif

Хороший совет, но где ж найти такую формулу??? Может, если сделать копию -
массив-константу, а потом ее присваивать рабочиму массиву, добовляя переменные элементы. Тогда, хотябы в подпрограмме не надо повторться.hmmm.gif
Цитата(dsergey @ 12.8.2004, 10:07)
Только не пойму, причем здесь входные параметры g,k,d,N4U : real???

Да, это я не все из проги убрал
PM MAIL   Вверх
ChVovan
Дата 13.8.2004, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.4.2004

Репутация: нет
Всего: нет



Код
procedure Get_1(g,k,d,N4U : real);{}
var
 Rx: array[1..4, 1..4] of real;
 i, j : integer;
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;
                                   }


 for i := 1 to 4 do
   for j := 1 to 4 do
     Rx[i,j]:=0;  


  Rx[1,1]:=1;                  
                     Rx[2,2]:=cos(kren);    Rx[2,3]:=sin(kren);
                     Rx[3,2]:=-Rx[2,3];     Rx[3,3]:=Rx[2,2];
                                                                Rx[4,4]:=1;
end;

PM MAIL   Вверх
p0s0l
Дата 13.8.2004, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



А можно еще так:
Код

const Rx0 : TArray1 = ((1,0,0,0),(0,0,0,0),(0,0,0,0),(0,0,0,1));
var Rx : TArray1;
   kren : real;
begin
 Rx := Rx0;
 Rx[2,2]:=cos(kren);
 Rx[2,3]:=sin(kren);
 Rx[3,2]:=-sin(kren);
 Rx[3,3]:=cos(kren);
end;
Т.е. вначале в Rx заносим элементы, которые всё время одинаковые, а потом отдельно изменяем меняющиеся элементы...

Или еще так - вначале делаем всё нулями, а потом заполняем ненулевые элементы:
Код

var Rx : array [1..4, 1..4] of real;
   kren : real;
begin
 FillChar (Rx, SizeOf(Rx), 0);
 Rx[1,1]:=1;
 Rx[2,2]:=cos(kren);
 Rx[2,3]:=sin(kren);
 Rx[3,2]:=-sin(kren);
 Rx[3,3]:=cos(kren);
 Rx[4,4]:=1;
end;





--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.