Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ ген.случ.чисел не работает

Автор: lexus3004 9.01.2009 20:26

Доброго времени суток.
Мне нужно написать генератор случайных чисел. Исходник я нашел, но он почемуто не работает, пишет ошибку.
Привожу исходник:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TfMain = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fMain: TfMain;

implementation

{$R *.dfm}

procedure TfMain.Button1Click(Sender: TObject);
begin
const
MaxValue = 1000; //максимальный размер случайных чисел
var
a:array [1..100] of integer; //массив целых чисел из ста элементов
i:integer; //счетчик для for
s:string;
begin
//сначала очистим Memo
Memo1.Clear;
//заполним случайными числами от 0 до MaxValue массив a
for i:= 1 to 100 do
s[i]:=Random (MaxValue);
//данные из массива добавляем сначала в строковую переменную, затем в Memo
s:='';
for i:=1 to 100 do
s:= s+IntToStr(a[i])+ ', ';
Memo1.Lines.Add(s);
end;

end.


Может кто что подскажет.
Спасибо!

М
Тегами пользуемся...


Автор: volvo 9.01.2009 20:37

Цитата
    s[i]:=Random (MaxValue);
Может, все-таки A[ i ]? S - это строка...

Автор: lexus3004 9.01.2009 21:34

В том то и дело, что проверить не могу, ошибка вылазит на строке "CONST". И что дальше делать не знаю.

Автор: volvo 9.01.2009 21:50

procedure TfMain.Button1Click(Sender: TObject);
// begin // <--- Надо убрать, это лишнее
const
MaxValue = 1000; //максимальный размер случайных чисел
var
a:array [1..100] of integer; //массив целых чисел из ста элементов
i:integer; //счетчик для for
s:string;
begin
//сначала очистим Memo
Memo1.Clear;
//заполним случайными числами от 0 до MaxValue массив a
for i:= 1 to 100 do
a[i]:=Random (MaxValue);
//данные из массива добавляем сначала в строковую переменную, затем в Memo
s:='';
for i:=1 to 100 do
s:= s+IntToStr(a[i])+ ', ';
Memo1.Lines.Add(s);
end;


Автор: lexus3004 10.01.2009 21:43

Уважаемый VOLVO большое спасибо, все заработало.