Консультация № 200741
27.04.2021, 10:38
0.00 руб.
0 3 1
Здравствуйте! Прошу помощи в написании кода для следующей задачи :
Дан одномерный массив из N элементов. Найти минимальный элемент из положительных вещественных элементов этого массива (Lazarus)

Обсуждение

давно
Профессор
401888
1232
27.04.2021, 10:58
общий
Адресаты:
Что значит "из положительных вещественных элементов"?
Я понимаю что есть массив вещественного типа, в который вводятся элементы без дробной части и с дробной частью и нужно найти миниальный из положительных чисел с дробной частью?
Или я неверно понял? Если это так, напишите свой вариант.
давно
Посетитель
401415
50
27.04.2021, 13:37
общий
Адресаты:
Вы всё правильно поняли
давно
Профессор
401888
1232
27.04.2021, 13:43
общий
это ответ
Код:
{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var x:array of double;//динамический вещественый массив
n,i,imn:integer;
begin
repeat //введем размер массива с проверкой
n:=strtoint(inputbox('','Введите размер масссива n>=5 n=','5'));
until n>=5;
setlength(x,n);//выделим под него память
//зададим параметры таблицы и создадим массив
with StringGrid1 do
begin
fixedrows:=0;
fixedcols:=0;
rowcount:=1;
colcount:=n;
defaultcolwidth:=35;
for i:=0 to n-1 do
begin
x[i]:=strtofloat(inputbox('','x['+inttostr(i+1)+']=','0'));
cells[i,0]:=floattostr(x[i]);
end;
end;
imn:=-1;
for i:=0 to n-1 do
if (frac(x[i])<>0)and(x[i]>0)then
begin
if imn=-1 then imn:=i
else if x[i]<x[imn] then imn:=i;
end;
if imn=-1 then Label1.Caption:='В массиве нет положительных вещественных чисел'
else Label1.Caption:='Минимальное положительное вещественное число='+format('%5.2f',[x[imn]]);
end;
Прикрепленные файлы:
Форма ответа