Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2012, 15:32   #1
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Чет непрет код, помогите исправить.

Код:
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i,j,m,n,p:integer;
a:array[1..4,1..4] of integer;
begin
 for j:=1 to 4 do
  for i:=1 to 4 do begin
   p:=random(16);
     for n:=1 to 4 do
      for m:=1 to 4 do
   if p<>a[m,n] then a[i,j]:=p;
 end;
 stringgrid1.cells[i-1,j-1]:=inttostr(a[i,j]);
end;
если есть другие варианты написания, пожалуйста с подробными коментариями.

Последний раз редактировалось Stilet; 06.10.2012 в 15:36.
Heng вне форума Ответить с цитированием
Старый 06.10.2012, 15:38   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i,j,m,n,p:integer;
a:array[1..4,1..4] of integer;
begin m:=0;
 for j:=1 to 4 do
  for i:=1 to 4 do begin
   p:=m+random(16);
    a[i,j]:=p;inc(m,p);
    stringgrid1.cells[i-1,j-1]:=inttostr(a[i,j]);
 end;
end;
Подойдет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2012, 16:25   #3
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Теперь задача работает только происходят какието сбои иногда появляются гигантские числа, незнаю почему вот этот код
Код:
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i,j,m,n,p,c:integer;
a:array[1..4,1..4] of integer;
begin
p:=0;
 for j:=1 to 4 do
  for i:=1 to 4 do begin
   p:=random(16);
   c:=0;
     for n:=1 to 4 do
      for m:=1 to 4 do
   if p=a[m,n] then c:=c+1;
   if c=0 then a[i,j]:=p;
   stringgrid1.cells[i-1,j-1]:=inttostr(a[i,j]);
 end;
end;
Мне надо чтобы случайные числа были от 1 до 16

Последний раз редактировалось Stilet; 06.10.2012 в 19:38.
Heng вне форума Ответить с цитированием
Старый 06.10.2012, 19:24   #4
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Значит как же правильно задать ваш рандом.
N:=Random(A)+B;где B:=N_min, a A:=N_max-N_min+1;

в вашем случае имеем:

B:=1, a A:=16;
N:=Random(16)+1;

Так думаю будет более чем доходчиво
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 06.10.2012, 21:17   #5
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Мне было бы полезней, если б мой код подправили, он вроде бы работает, только откудато беруться 10значные числа вместо рандомных.
Heng вне форума Ответить с цитированием
Старый 07.10.2012, 00:34   #6
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Цитата:
Чет непрет код, помогите исправить.
Это суть вашей проблемы? Ну тогда найдите код который вас попрет.

Heng, конкретней надо говорить с чем помочь. Что должно случится после нажатия кнопки: салют, свадьба, много денег нежданно свалится на голову?
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 07.10.2012, 10:40   #7
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Leshii Посмотреть сообщение
Это суть вашей проблемы? Ну тогда найдите код который вас попрет.

Heng, конкретней надо говорить с чем помочь. Что должно случится после нажатия кнопки: салют, свадьба, много денег нежданно свалится на голову?
Если выше почитать можно увидеть:
Цитата:
Вроде бы работает, только откудато беруться 10значные числа вместо рандомных.
Heng вне форума Ответить с цитированием
Старый 07.10.2012, 11:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты пройдись пошаговкой по циклам и посмотри чему становятся равными переменные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.10.2012, 16:22   #9
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А ты пройдись пошаговкой по циклам и посмотри чему становятся равными переменные.
Уже сто раз прошелся, идей нет. У когонибуть есть идеи ??
Heng вне форума Ответить с цитированием
Старый 07.10.2012, 16:36   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Есть идеи: Тебе нужно еще раз внимательно изучить мой код, и сравнить со своим.
Ты некорректно используешь циклы. Я вообще не понимаю зачем тебе циклы для m и n
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация случайных чисел (С#,C++) Bellami Помощь студентам 4 09.07.2012 01:38
Датчик случайных чисел Ksy JavaScript, Ajax 0 07.02.2011 23:10
Таблица из случайных чисел najdera Microsoft Office Excel 4 16.01.2011 08:51
Определение количества повторяющихся чисел в строке Tidus Microsoft Office Excel 11 13.12.2010 23:36
Вывод в фаил массива из 20 случайных чисел от -10 до 10 в C++ xnise Помощь студентам 3 19.02.2010 22:02