Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
ВнизКак заполнить массив вручную сразу строками? Найти похожие ветки
← →
Light-blr (2007-09-21 11:45) [0]Здравствуйте.
В моей программе нужен массив 4*150, заранее известный. Я хотела бы его заполнить в коде программы, как-нибудь вроде NewMas:=((1,2),(1,2)), но ни в справке, ни в книжке по Delphi ничего похожего не нашла. Подскажите, как это сделать, если это возможно. Я имею в виду, заполнить как NewMas[1,1]:=1;NewMas[1,2]:=2... это я смогу, конечно, но код очень сильно разрастётся. Читать из файла не хочу, чтобы потом не было возможности этот файл изменить. Есть ли возможность заполнить весь массив разом?
← →
stone © (2007-09-21 11:48) [1]
> ни в книжке по Delphi ничего похожего не нашла.
странно, открыл справку, набрал array, получил описание
type TMatrix = array[1..10, 1..50] of Real;
Whichever way TMatrix is declared, it represents an array of 500 real values. A variable MyMatrix of type TMatrix can be indexed like this: MyMatrix[2,45]; or like this: MyMatrix[2][45]. Similarly,
ЗЫ. про циклы что-нибудь известно?
← →
Light-blr (2007-09-21 11:52) [2]Про циклы известно. массив должен выглядеть примерно так:
0 0 0 0 -15 0 0 35 119 0 0 0
0 0 -11 0 0 0 0 0 3...
То есть никакой последовательности, заполняется вручную. Можно заполнить тупо
NewMas[1,1]:=0;
NewMas[1,2]:=0;
И так далее до посинения. Это я могу - но хочу сразу всю строку, если возможно.
← →
stone © (2007-09-21 11:54) [3]ну а эти самые строчки откуда беруться? есть какой-то источник? или просто из потока сознания ? :)
← →
Elen © (2007-09-21 11:55) [4]
> Light-blr
Ну можно например создать константу и ее заполнить, и если нужен массив, значения которого будут менятся то мона так :unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
t=array[1..5] of integer;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const a:t=(1,2,3,4,5);
var b:t;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
b:=a;
end;
end.
← →
Плохиш © (2007-09-21 11:57) [5]Открываем справку и читаем
Bei der Deklaration einer Array-Konstante werden die Werte der Array-Elemente in Klammern und durch Kommas getrennt angegeben. Zur Angabe der Werte müssen konstante Ausdrücke verwendet werden. Ein Beispiel:
const Digits: array[0..9] of Char = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
Diese Anweisung deklariert eine typisierte Konstante mit dem Namen Digits, die ein Zeichen-Array enthält.
← →
palva © (2007-09-21 11:58) [6]
{$APPTYPE CONSOLE}
var
m: array[1..2,40..41] of Integer = ((23, 24), (25, 26));
begin
Writeln(m[1,40]); // 23
Writeln(m[2,41]); // 26
end.
← →
Light-blr (2007-09-21 11:59) [7]
> stone
Эти значения берутся из тщательных расчётов на листке бумаги. :)
> Elen
Спасибо, мне нужна именно такая константа. Буду пробовать.
← →
Jeer © (2007-09-21 12:15) [8]
> Light-blr (21.09.07 11:59) [7]
> Эти значения берутся из тщательных расчётов на листке бумаги.
В таком случае имеет смысл:
1. использовать array of double или extended
2. "Тщательно" построить регрессионную зависимость и вычислять при инициализации или по месту.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.055 c