Нужно, чтобы в Edit1 написал массив, а в Edit2 вывел из этого массива наибольшее число
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit2: TEdit;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; Edit1: TEdit;
implementation
{$R *.dfm}
function factor(i:integer):integer;
begin
if i=1 then factor:=1 else
factor:=i*factor(i-1)
end;
function fib(i:integer):integer;
begin
if i<=2 then fib:=1 else
fib:=fib(i-1)+fib(i-2)
end;
function max_num(i:integer):integer;
var
ar:array[1..20] of integer;
max_num:integer;
max_index:integer;
begin
randomize;
Edit1.Clear;
for i:=1 to 20 do begin
ar:=random(100);
Edit1.Text:=Edit1.Text+' '+inttostr(ar);
end;
max_index:=1;
max_num:=ar[1];
for i:=2 to 20 do begin
if ar>max_num then begin
max_index:=i;
max_num:=ar;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=strtoint(Edit1.Text);
edit2.Text:=inttostr(factor(n))
end;
procedure TForm1.Button2Click(Sender: TObject);
var n:integer;
begin
n:=strtoint(Edit1.Text);
edit2.Text:=inttostr(fib(n))
end;
procedure TForm1.Button3Click(Sender: TObject);
var n:integer;
begin
n:=strtoint(Edit1.Text);
edit2.Text:=inttostr(max_num(n))
end;
end.
Другие языки программирования и технологии
нахождение наибольшего элемента массива через функцию
Зачем столько кнопок и функции, вычисляющие факториал и числа Фибоначчи?
> Нужно, чтобы в Edit1 написал массив
Нужно, чтобы кто написал? Программа написал или пользователь?
Программа, считывающая массив из Edit1, который туда написал пользователь:
unit N94885139;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function max_num(var a: array of double): double;
var
i :integer;
begin
for i := Low(a) to High(a) do
if (i = Low(a)) or (a[і] > Result) then
Result := a[і]
end;
procedure TForm1.Button1Click(Sender: TObject);
var
StrList: TStringList;
a: array of double;
i: integer;
begin
StrList := TStringList.Create;
with StrList do
begin
Delimiter := #$20;
DelimitedText := Edit1.Text;
setlength(a, Count);
for i := 0 to Count - 1 do
if not TryStrToFloat(Strings[і], a[і]) then
begin
ShowMessage('Ошибка! Элементы массива'#13#10+
'должны быть действительными числами. ');
exit
end;
Free
end;
Edit2.Text := FloatToStr(max_num(a))
end;
end.

> Нужно, чтобы в Edit1 написал массив
Нужно, чтобы кто написал? Программа написал или пользователь?
Программа, считывающая массив из Edit1, который туда написал пользователь:
unit N94885139;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function max_num(var a: array of double): double;
var
i :integer;
begin
for i := Low(a) to High(a) do
if (i = Low(a)) or (a[і] > Result) then
Result := a[і]
end;
procedure TForm1.Button1Click(Sender: TObject);
var
StrList: TStringList;
a: array of double;
i: integer;
begin
StrList := TStringList.Create;
with StrList do
begin
Delimiter := #$20;
DelimitedText := Edit1.Text;
setlength(a, Count);
for i := 0 to Count - 1 do
if not TryStrToFloat(Strings[і], a[і]) then
begin
ShowMessage('Ошибка! Элементы массива'#13#10+
'должны быть действительными числами. ');
exit
end;
Free
end;
Edit2.Text := FloatToStr(max_num(a))
end;
end.

Похожие вопросы
- Составьте программу, отыскивающую наибольший элемент массива A(N) из числа принадлежащим интервалу {min,(min+max\2))
- алгоритм... по нахождению общих элементов двух массивов
- Поиск наибольшего отрицательного элемента массива (c++) и его удаление, написал программу, где то косячек =/
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.
- Объясните пожалуйста, что означает эта строка WRITE('ВВЕДИTE ЭЛЕМЕНТ МАССИВА '); READLN(MAS[1])?
- В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
- Помогите с массивами! Найти и вывести на экран сумму нечётных элементов массива и количество отрицательных.
- ПОМОГИТЕ, ДОБРЫЕ ЛЮДИ!!! Язык С++, записать в массив d нечетные элементы массива А которых нет в В - НЕ ПОЛУЧАЕТСЯ
- Работа с массивами. Объявление массивов. Изменение и чтение элементов массива
- С++.Дан одномерный числовой массив. Написать функции.