1 Востаннє редагувалося Torbins (22.10.2014 10:50:08)

Тема: Використання randomize

Потрібно переробити програму. Зараз дані вводяться в едіт та мемо, вручну. Мені потрібно, щоб дані самі вводились за допомогою randomize

procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit1.Text='' then ShowMessage('А "n" хто буде вводити ?') else
  begin
    n:=StrToInt(Edit1.Text);
    if (n<1) or (n>500) then ShowMessage('Від`ємне або більше за 500, програма не рахує. Задайте інше значення!')
    else if Memo1.Lines.Count< n then
    ShowMessage('Ви кароче шось не то зробили. Спробуйте ще раз!') else
    begin
      SetLength(A,n);
      for i:=0 to (n-1) do //Переносимо дані Мемо в масив
      A[i]:=StrToInt(Memo1.Lines[i]);

      //Кароче тут обробляються дані
      Sum:=0; Dob:=1;
      for i:=0 to (n-1) do
      if A[i]<>0 then //Якщо елемент не опрацьований і не рівний  0
      begin
        bb:=False;

        //тут чи повторяється втикаєм
        for j:=(i+1) to (n-1) do
        if A[i]=A[j] then
        begin
          bb:=True;
          Sum:=Sum+A[j];
          A[j]:=0; //Тут тіпа шоб дарма не перепровіряти
        end;
        if bb then Sum:=Sum+A[i] else
        //Добуток х**буток
        Dob:=Dob*A[i];
      end;

      Edit2.Text:=IntToStr(Sum); //Фігачим результат
      Edit3.Text:=IntToStr(Dob);
      Finalize(A);
    end;
  end;
end;
Post's attachments

my.rar 2.79 mb, 139 downloads since 2014-10-21 

2

Re: Використання randomize

Круто, що саме не виходить? Чи це знову з серії "зробіть замість мене, будь ласка"?

Мій блог про ОС сімейства *nix - http://nixtravelling.blogspot.com/

3

Re: Використання randomize

Та що тут не зрозуміло ? Я не шарю як зробити це за допомогою рандома, бо зараз значення в програмі вводиться користувачем!

Master_Sergius написав:

Круто, що саме не виходить? Чи це знову з серії "зробіть замість мене, будь ласка"?

4 Востаннє редагувалося 0xDADA11C7 (21.10.2014 19:06:01)

Re: Використання randomize

Приберіть код, пов’язаний із Edit1 і замініть оцей рядок:

 n:=StrToInt(Edit1.Text);

на одержання рандомного числа в потрібному діапазоні за допомогою функції Random(), а randomize() лише ініціалізує генератор випадкових чисел і його потрібно викликати лише один раз (засуньте в ініціалізацію форми).

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: ex.jedii, quez, Torbins3