Вопрос № 160902: <b>У меня вопрос по решению задачи динамическими массивами.Не получается связать два шага?</b> <font color="blue">Задание:</font> Шаг1. Создайте событие для кнопки «Ввод n». Для исследования скорости выполнения разных операций над массивам...
Вопрос № 160.902
У меня вопрос по решению задачи динамическими массивами.Не получается связать два шага?
Задание: Шаг1. Создайте событие для кнопки «Ввод n». Для исследования скорости выполнения разных операций над массивами данных необходимо иметь возможность работать с данными из достаточно большого количества значений. Поэтому вам прелагается в этом методе случайным образом генерировать значение n и выводить его в текстовое окно. После определения размерности массива можно активизировать
остальные кнопки.
procedure TForm1.BitBtn1 Click (Sender: TObject); begin Randomize; Edit1.Clear; For n := 1 To 10 Do begin A[n] := Random(10); Edit1.Text := Edit1.Text +' ' + IntToStr(A[n]); end; end;
Шаг 2. Сгенерируйте массив целых чисел, сохраните его в памяти, и выполните вывод массива полученной размерности в окно Memo1:
procedure TForm1.Button1Click (Sender: TObject); conct type TArray=
array [1..n] of integer; PArray=^TArray; var mas: PArray; N, I: Integer; begin N := strtoint(edit1.text); setlength(mas, n*mof(integer)); for I := 1 to N do mas[i] := random(N); Memo1.Clear; for I := 1 to N do memo1.Lines.Add(inttostr(mas[i])); end;
Отвечает: Genia007
Здравствуйте, Логинова Галина Петровна! Вот исправил Ваши ошибки и всё заработало:
Код:
procedure TForm1.Button1Click(Sender: TObject); var n: integer; A : array [1..10] of integer; begin Randomize; Edit1.Clear; For n := 1 To 10 Do begin A[n]
:= Random(10); Edit1.Text := Edit1.Text +' ' + IntToStr(A[n]); end; end;
procedure TForm1.Button2Click(Sender: TObject); var mas: Array of integer; N, I: Integer; begin Randomize; N := strtoint(edit1.text); SetLength(mas, N); for I := 0 to N - 1 do mas[i] := random(N); Memo1.Clear; for I := 0 to N - 1 do Memo1.Lines.Add(inttostr(mas[i])); end;
--------- Помогли тебе, помоги и ты.
Ответ отправил: Genia007 (статус: Студент)
Ответ отправлен: 20.02.2009, 13:07
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244124 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.