IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Проблема с массивом случайных чисел
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


Создал массив с помощью рандома но он выдает какие то запредельные цифры,не подскажите почему?


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, Buttons;

type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Label1: TLabel;
BitBtn1: TBitBtn;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
x:array[1..3,1..3] of integer;
i,j:integer;
begin
randomize;

for i:=1 to 3 do
for j:=1 to 3 do

x[i,j]:=random(10);
for i:=0 to 2 do
for j:=0 to 2 do
StringGrid1.Cells[i,j]:=IntToStr(x[i,j]);
end;

end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
не подскажите почему?
Ты скажи спасибо, что вообще не вылетает smile.gif

У тебя массив индексируется с 1 до 3? Чего ж ты обращаешься к индексу = 0? Там мусор (массив-то локальный, был бы глобальный - были бы нули)...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


 
for i:=0 to 2 do
for j:=0 to 2 do
StringGrid1.Cells[i,j]:=IntToStr(x[i,j]);



Это для вывода массива в стринг грид
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской

Репутация: -  0  +


Попробуй так
Код

procedure TForm1.FormCreate(Sender: TObject);
var
x:array[1..3,1..3] of integer;
i,j:integer;
begin
randomize;

for i:=1 to 3 do
for j:=1 to 3 do

x[i,j]:=random(10);
for i:=1 to 3 do
  for j:=1 to 3 do
  StringGrid1.Cells[i,j]:=IntToStr(x[i,j]);
end;
end.



Сообщение отредактировано: snopy -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


неа,он выводит в стринг грит все элементы кроме 1 столбца и первой строки
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а так?
 for i:=1 to 3 do
for j:=1 to 3 do
begin
x[i,j]:=random(10);
StringGrid1.Cells[j-1,i-1]:=IntToStr(x[i,j]);
end;


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


Вот так да работает,спасибо! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.10.2020 11:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name