Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Массив через Random с вводимым числом элементов.  [new]
temir123
Member

Откуда:
Сообщений: 19
Пишет предупреждение [Warning] Unit1.pas(39): Variable 'X' might not have been initialized
и вылетает когда нажимаю на кнопку

    ...................
    procedure N1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
   type
  mass=array of real;
var
  Form1: TForm1;
  n:integer;
implementation

{$R *.dfm}

procedure TForm1.N1Click(Sender: TObject);
var
i:integer;
X:mass;
begin
n:=strtoint(edit1.Text);
For i:=1 to n do begin
X[i]:=Random(n);
 F1Book1.NumberRC[i,1]:=X[i];
 end
end;

end.
3 дек 17, 10:30    [21001902]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
temir123,

правду пишет. где инициализация дин. массива?
3 дек 17, 11:36    [21001946]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
temir123
Member

Откуда:
Сообщений: 19
makhaon,стало только хуже, пишет invalid pointer operation

mass=array of real;
var
  Form1: TForm1;
  n:integer;
implementation

{$R *.dfm}

procedure TForm1.N1Click(Sender: TObject);
var
i:integer;
X:mass;
begin
n:=strtoint(edit1.Text);
setlength(X,n);
For i:=1 to n do begin
X[i]:=Random(n);
 F1Book1.NumberRC[i,1]:=X[i];
 end
end;

end.
3 дек 17, 12:21    [21001977]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
fd00ch
Member

Откуда: Нижний Новгород
Сообщений: 5864
temir123, почитай букварь про нумерацию элементов в массиве
3 дек 17, 12:38    [21001992]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9916
temir123
стало только хуже, пишет invalid pointer operation
Если Вы еще проинициализируете n, а потом почитаете про
fd00ch
нумерацию элементов в массиве
то все у Вас получится
3 дек 17, 14:26    [21002150]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9916
_Vasilisk_
Если Вы еще проинициализируете n,
Не заметил. Вы таки ее инициализируете
3 дек 17, 14:27    [21002153]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
temir123
Member

Откуда:
Сообщений: 19
Объясните пожалуйста, ничего не помогает
3 дек 17, 14:48    [21002200]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9916
temir123
Объясните пожалуйста, ничего не помогает
тынц
3 дек 17, 14:54    [21002212]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
temir123
Member

Откуда:
Сообщений: 19
у меня ничего не получилось, но все равно спасибо
3 дек 17, 15:29    [21002250]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9916
temir123
у меня ничего не получилось
Показывайте как пытались
3 дек 17, 15:32    [21002253]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
temir123,

автор
For i:=1 to n do begin


Динамические массивы нумеруются от 0 до Length-1. Почитай азы, прежде чем писать, правда :)
3 дек 17, 15:53    [21002278]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
Возможно еще здесь есть 'особенности':
автор
F1Book1.NumberRC[i,1]:=X[i];
3 дек 17, 15:55    [21002281]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
temir123
Member

Откуда:
Сообщений: 19
type
  mass=array of real;
var
  Form1: TForm1;
  n:integer;
implementation

{$R *.dfm}

procedure TForm1.N1Click(Sender: TObject);
var
i,a,b:integer;
X:mass;
begin
a:=strtoint(edit2.Text);
b:=strtoint(edit3.Text);
n:=strtoint(edit1.Text);
setlength(X,n);
randomize;
For i:=0 to n-1 do begin
X[i]:=Random(b-a+1)+a;
 F1Book1.NumberRC[i,1]:=X[i];
 end
end;

end.


Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
3 дек 17, 16:08    [21002291]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
temir123
Member

Откуда:
Сообщений: 19
makhaon, все равно ничего
3 дек 17, 16:09    [21002293]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9916
temir123
все равно ничего
Чего ничего?
3 дек 17, 16:53    [21002364]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
temir123
Member

Откуда:
Сообщений: 19
не работает
3 дек 17, 16:59    [21002372]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
GunSmoker
Member

Откуда:
Сообщений: 2929
temir123, ошибка в 13 строке.
3 дек 17, 17:36    [21002417]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
alekcvp
Member

Откуда:
Сообщений: 515
Что такое F1Book1.NumberRC[] ?
3 дек 17, 19:03    [21002508]     Ответить | Цитировать Сообщить модератору
 Re: Массив через Random с вводимым числом элементов.  [new]
DimaBr
Member

Откуда:
Сообщений: 10271
Выкини эту строчку
3 дек 17, 19:06    [21002511]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить