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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2010, 21:52   #1
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию Рандомное заполнение массива и стринггрида

Текст проги:


Код:
s,s2,s1,s3: real;
  x: array[1..100] of Extended;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
n: integer;
i: integer;
begin
s1:=0;
s2:=0;
s3:=0;
s:=0;
n:=StrToInt(Edit1.text);
for i:=1 to n do
begin
if (i*i<=n) then
begin
x[i]:= random;
s1:=s+x[1*1];
s2:=s1+x[4*4];
S3:=S2+x[9*9];
s:=s1+s2+s3;
StringGrid1.Cells[1,1]:=FloatToStr(s1);
StringGrid1.Cells[1,2]:=FloatToStr(s2);
StringGrid1.Cells[1,3]:=FloatToStr(s3);
StringGrid1.Cells[1,4]:=FloatToStr(s);
end
else
ShowMessage('êâàäðàò íîìåðà ýë-òà ìàññèâà áîëüøå n');
break;
end;
end;
end.

Проблема в том что в стринггриде выводится только s без s1 s2 и s3.
объясните в чем ошибка пжалуйста...

Последний раз редактировалось Stilet; 09.11.2010 в 09:54.
Repac123456 вне форума Ответить с цитированием
Старый 08.11.2010, 22:03   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

1)а строк в StringGrid хватает?
Код:
StringGrid1.Cells[1,4]:=FloatToStr(s);
[1,4] значит в первом столбце в четвертой строке.

2)Не увидел использования Randomize .
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 08.11.2010, 22:11   #3
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

в стринггридем хватает строк, а вот Randomize куда нужно вставить, сюда как я полагаю?

begin
Randomize
x[i]:= random;
Repac123456 вне форума Ответить с цитированием
Старый 08.11.2010, 22:15   #4
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

1) у меня по твоему коду все значения выводятся нормально.
2)Randomize - http://www.google.ru/search?hl=ru&so...=&oq=&gs_rfai=
Думаю мне незачем пересказывать то, что в справочниках описано.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 08.11.2010, 22:21   #5
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

спасибо выручили

из того что я понял:
Код:
begin
if i*i<=n then
begin
x[i]:= random(1000);
Randomize;
s1:=s+x[1*1];
Randomize;
s2:=s1+x[4*4];
Randomize;
S3:=S2+x[9*9];
но это даёт одни и те же рандомные значения для каждого s

Последний раз редактировалось Stilet; 09.11.2010 в 09:55.
Repac123456 вне форума Ответить с цитированием
Старый 09.11.2010, 00:29   #6
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

один раз достаточно вызвать в процедуре.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
n: integer;
i: integer;
begin
Randomize
...
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение массива GaLiof JavaScript, Ajax 4 01.11.2010 20:36
Заполнение массива из файла на Си bagbier Помощь студентам 1 21.09.2010 14:09
Заполнение массива siemdi Общие вопросы C/C++ 12 27.05.2010 22:21
Рандомное заполнение массива ac1d_buRn Помощь студентам 15 03.05.2010 09:14
Заполнение массива. Небесный Общие вопросы C/C++ 3 01.09.2009 01:39