Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 434

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!

Как рассмотреть заполнение массива с использованием генератора случайных чисел. (код программы)

hiddenbust Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: hiddenbust (статус: Посетитель)
Вопрос отправлен: 23 ноября 2009, 09:01
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Егор

Здравствуйте, hiddenbust!
Привожу код программы:

program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
const
  N = 10; // количетсво чисел
var
  a : array [1..N] of integer; // будет массив из N чисел
  i : integer;
begin
  randomize; // инициализируем счётчик случайных чисел
  for i:=1 to N do     // перебираем все элементы массива
  begin
    a[i]:=random(200); // числа будут случайные от 0 до 199 (=200-1)
    write(a[i],' ');   // выводим на экран очередное случайное число
  end;
  readln;              // приостановка программы до нажатия на Enter
end.

Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 23 ноября 2009, 09:31

Ответ #2. Отвечает эксперт: Паровоз

Здравствуйте, hiddenbust!

Вот пример заполнения массива случайными числами, равномерно распределенными в интервале (a;b):

const
  n=10;//размер массива
  a=2;b=5;//концы интервала
 
var
  c:array[1..10] of Extended;//массив случайных чисел
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i:Integer;
begin
  Randomize;
  for i:=1 to 10 do c[i]:=a+(b-a)*Random;
  for i:=1 to 10 do Memo1.Lines.Add(FloatToStr(c[i]));
end;

Ответ отправил: Паровоз (статус: 10-ый класс)
Время отправки: 23 ноября 2009, 16:47


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 18 марта 2014, 13:43; участников в обсуждении: 2.

23 ноября 2009, 11:59: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Алгоритмы, преобразования модератором Ерёмин А.А.

Паровоз

Паровоз (статус: 10-ый класс), 23 ноября 2009, 16:49 [#1]:

P.S. число 10 забыл заменить на n:

c:array[1..n] of Extended;
for i:=1 to n do c[i]:=a+(b-a)*Random;
for i:=1 to n do Memo1.Lines.Add(FloatToStr(c[i]));
zvygin1964

zvygin1964 (статус: Посетитель), 18 марта 2014, 13:43 [#2]:

Ой спасибо!
unit Array_type;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
     const
  n=3;//размер массива
  a=2;b=5;//концы интервала
 
var
  c:array[1..n] of Extended;//массив случайных чисел
 
procedure TForm1.Button1Click(Sender: TObject);
       var
  i:Integer;
begin
  Randomize;
  for i:=1 to n do c[i]:=a+(b-a)*Random;
  for i:=1 to n do Memo1.Lines.Add(FloatToStr(c[i]));
end;
 
end.

И правда работает!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:49
Выполнено за 0.03 сек.