Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Объявление предела массива   Найти похожие ветки 

 
Motion ©   (2005-06-04 18:06) [0]

При объявлении массива с количеством элементов X[1..n] необходимо сначала задать n, а n берётся с компонента spinedit.
Но сначала, объявляется массив, о потом считывается n. Можно ли зделать наоборот? Пример кода:

var n:integer;
var X: array[1..n] of real;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
n:=spinedit1.value;
end;


 
MBo ©   (2005-06-04 18:13) [1]

Можно использовать динамические массивы
X:array of Double;
...
SetLength(X,spinedit1.value);
нумерация с нуля!


 
Motion ©   (2005-06-04 18:14) [2]

А можно с 1-цы?


 
Anatoly Podgoretsky ©   (2005-06-04 18:19) [3]

Motion ©   (04.06.05 18:14) [2]
А зачем? Можешь эмулировать.


 
KilkennyCat ©   (2005-06-04 18:21) [4]

нет, но что мешает использовать нужный коэффициент при обращении к элементу? n[x+k], где k = 1 в требуемом случае. Разумеется, необходимо также учитывать, что некорректное обращение к последнему элементу вызовет ошибку.


 
KilkennyCat ©   (2005-06-04 18:22) [5]

[4] - фигня.
можно просто неиспользовать нулевой элемент.


 
Motion ©   (2005-06-04 18:26) [6]

Получилось как посоветовал MBo, а теперь необходимо обратится не к нулевому а к первому элементу.


 
Anatoly Podgoretsky ©   (2005-06-04 18:43) [7]

Motion ©   (04.06.05 18:26) [6]
Как обращался к нулевому?


 
begin...end ©   (2005-06-04 18:54) [8]

> Motion ©   (04.06.05 18:06)

type
 TMyArray = array [1..MaxInt div sizeof(Real)] of Real;
var
 X: ^TMyArray;
 N: Integer;
begin
 N := ...;
 GetMem(X, N * sizeof(Real));
 try
   X[1] := ...
   ...
 finally
   FreeMem(X)
 end
end.


Недостаток: необходимо строго следить за корректностью индексов массива.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.067 c
3-1116315431
stud
2005-05-17 11:37
2005.06.29
посоветуйте структуру таблицы


14-1117394899
Knight
2005-05-29 23:28
2005.06.29
Где-то тут меня убеждали, что автогражданка - это гуд...


14-1117466187
serg1231
2005-05-30 19:16
2005.06.29
Где можно достать библиотеку WinSock2?


14-1117478658
Ермак
2005-05-30 22:44
2005.06.29
Срочно! О принтере HP IIP


3-1115987536
Roman_SVT
2005-05-13 16:32
2005.06.29
Delphi и Mysql





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский