Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/27: Рейтинг темы: голосов - 27, средняя оценка - 4.89
0 / 0 / 1
Регистрация: 10.11.2010
Сообщений: 12
1

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

14.11.2010, 22:34. Показов 5414. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Если заполнять массив рандомно отдельной процедурой,то выдает некорректное значение.если заполнять массив внутри процедуры,то все нормально.Кто может сказать в чем дело?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2010, 22:34
Ответы с готовыми решениями:

Заполнение массива случайными числами без повторений
Как сгенерировать массив от 1 до 15, чтобы ни одно число в массиве не повторялось и...

StringGrid заполнение случайными числами.
Дана таблица StringGrid. Как зполнить одну строку (например первую) случайными числами в диапазоне...

Заполнение edit случайными числами
Подскажите пожалуйста,(распишите подробно), как заполнить edit случайными числами. Т.е. у меня есть...

Заполнение Memo случайными числами
Доброго времени, не знаю как можно было назвать тему. но в общем помогите сделать такую вещь: ...

2
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
14.11.2010, 22:42 2
Пример покажи... а то на словах трудно понять, о чём речь.
0
0 / 0 / 1
Регистрация: 10.11.2010
Сообщений: 12
14.11.2010, 23:08  [ТС] 3
Лучший ответ Сообщение было отмечено Vladislav1 как решение

Решение

если так то нормально все:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
     const n=3;  m=3;   r=10;
type
arr=array[1..n, 1..m] of integer;
 
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Button1: TButton;
    StringGrid3: TStringGrid;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
      mas2,   mas1,  b: arr;
 
  i,j,  i1,  j1, max: integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
 
For i:=1 to n Do
  For j:=1 to m Do
          Begin
          mas1[i,j]:=Random(r);    mas2[i,j]:=Random(r);
 
          StringGrid1.Cells[j,i]:=IntToStr(mas1[i,j]);
 
          StringGrid3.Cells[j,i]:=IntToStr(mas2[i,j]);
 
          End;
 
 
   For i:=1 to n Do
  For j:=1 to m Do
          Begin
 
          if mas1[i,j]> mas2[i,j] then begin
 
           max:=mas1[i,j];
           b[i,j]:=max; end
                    else begin
                    max:=mas2[i,j];
           b[i,j]:=max;         end;
 
            For i1:=1 to n Do
             For j1:=1 to m Do
          StringGrid2.Cells[j,i]:=IntToStr(b[i,j]);
end;
end;
end.

а если так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
procedure TForm1.Button9Click(Sender: TObject);
var i,k:integer;
begin
Randomize;
with StringGrid5 do
 begin
 i:=0;{первая строка}
 for k:=0 to (StringGrid5.RowCount-1) do
 Cells[i,k]:=IntToStr(k);{}
 k:=0;{Первый столбец}
 for i:=0 to (StringGrid5.ColCount-1) do
 Cells[i,k]:=IntToStr(i);
 end;
 with StringGrid5 do
   for i:=0 to ColCount-1 do {Обходим оставшиеся столбыцы}
   for k:=0 to RowCount-1 do {Обходим  оставшиеся строки}
begin
  StringGrid5.Cells[i,k]:=IntToStr(Random(31)-20);{Заполняем массив случайными числами в промежутке до 21}
   StringGrid6.Cells[i,k]:=IntToStr(Random(31)-20);
 
 end;
end;
procedure TForm1.Button11Click(Sender: TObject);
const
n=5;  m=5;   r=20;
type
arr=array[0..n, 0..m] of integer;
var mas2,   mas1,  b: arr;
i,j,  i1,  j1, max: integer;
begin
   For i:=0 to n Do
  For j:=0 to m Do
          Begin
 
          if mas1[i,j]> mas2[i,j] then begin
 
           max:=mas1[i,j];
           b[i,j]:=max; end
                    else begin
                    max:=mas2[i,j];
           b[i,j]:=max;         end;
 
            For i1:=0 to n Do
             For j1:=0 to m Do
          StringGrid9.Cells[j,i]:=IntToStr(b[i,j]);
end;
end;
end.
то выдает некорректный резльтат(см.вложение)
Задача в сравнениии элементов 2х массивов,максимальный элемент записать в 3й.
Миниатюры
Заполнение массива случайными числами  
0
14.11.2010, 23:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2010, 23:08
Помогаю со студенческими работами здесь

Заполнение StringGrid случайными числами из диапазона
В этом примере она заполняется числами из диапазона 0..16 а как сделать, что бы она заполняласьиз...

Заполнение stringgrid случайными числами в заданном диапазоне
Не хочет заполнять строки числами. GoEditing в таблице -True procedure...

Заполнение StringGrid случайными числами по нажатию на кнопку
Помогите создать генератор случайных чисел на кнопку , что бы случайные числа заполняли StringGrid

создание 2х мерного массива со случайными числами
Нужно создать программу: создание 2х мерного массива со случайными числами, мин/макс кол во...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru