Заполняем массив случайными числами

Дата публикации

Сегодняшний материал я вновь посвящаю массивам, а именно их заполнению. Заполнять будем случайными значениями.  Вначале поработаем с одномерным массивом, а затем с двумерным.

Заполнить одномерный массив.

Эта операция очень простая. Мы в цикле перебираем все элементы и присваиваем им случайное значение.

var
  A:array [0..9] of integer;
  i:integer;
begin
  for i:=0 to 9 do
  begin
    A[i]:=Random(10);  // Собственно заполнение массива
  end;
end;

Заполнить двумерный массив.

Эта операция не сложнее:

var
  A:array [0..9,0..9] of integer;
  i,j:integer;
begin
  for i := 0 to 9 do
    for j := 0 to 9 do
      A[i,j]:=Random(10);  // заполняем матрицу.
end;

Пример заполнения одномерного и двумерного массива.

Давайте напишем небольшую программку. Создайте новый проект и на форме разместите следующие компоненты:

  • 2 Button
  • Edit
  • Memo

У меня получилось примерно так:

Код модуля:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TFArray = class(TForm)
    MArray: TMemo;
    EArray: TEdit;
    BArray: TButton;
    BArray2: TButton;
    procedure BArrayClick(Sender: TObject);
    procedure BArray2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  FArray: TFArray;
implementation
{$R *.dfm}
procedure TFArray.BArrayClick(Sender: TObject);
var
  A:array [0..9] of integer;
  i:integer;
begin
  for i:=0 to 9 do
  begin
    A[i]:=Random(10);  // Собственно заполнение массива
    EArray.Text:=EArray.Text + IntToStr(A[i]);
  end;
end;
procedure TFArray.BArray2Click(Sender: TObject);
var
  A:array [0..9,0..9] of integer;
  i,j:integer;
  s:string;
begin
  for i := 0 to 9 do
  begin
    for j := 0 to 9 do
    begin
      A[i,j]:=Random(10);  // заполняем массив.
      s:=s+IntToStr(A[i,j]);
    end;
    MArray.Lines.Add(s);
    s:='';
  end;
end;
end.

Отмечу, что мы заполняем элементы массива целыми случайными числами. Если есть необходимость генерировать дробные числа или числа из интервала – можете почитать тут.

Добавить комментарий



Обновить

Thursday the 14th. icq 486350790
Copyright 2012

©