Показать сообщение отдельно
  #1  
Старый 16.03.2016, 06:56
torifilen torifilen вне форума
Прохожий
 
Регистрация: 15.03.2016
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию Задача: "Программирование одномерных статических массивов"

Исправить код программы или дополнить.

Ввести элементы одномерного массива длиной 40 как значения функции ln(1+x) для x от -5 до 15 с шагом 0.5 и вывести на экран. Определить:
• минимальный элемент массива и его номер;
• количество элементов в диапазоне от 1 до 3;
• произведение элементов больших 1.
Код:
var a:array[1..n] of real;
 i,k:byte;
   nom: integer;
   min, x,p:real;
begin
x:=0;
i:=1;
while x<=15 do
 begin
  a[i]:=ln(1+x);
Form1.Memo1.Lines.Add(FloatToStr(a[i]));
  x:=x+0.5;
  i:=i+1;
 end;
min:=a[1];
nom:=1;
k:=0;
p:=1;
for i:=1 to n do
 begin
  if a[i]<min then
   begin
    min:=a[i];
    nom:=i;
   end;
  if(a[i]>=1)and(a[i]<=3) then k:=k+1;
  if a[i]>1 then p:=p*a[i];
 end;
Form1.Edit1.Text:=FloatToStr(min);
Form1.Edit4.Text:=FloatToStr(nom);
Form1.Edit2.Text:=FloatToStr(k);
Form1.Edit3.Text:=FloatToStr(p);
end;
Ответить с цитированием