Вопрос по информатике
Анонимный
10 лет назад

Всем привет! =) Работаю в Delphi Надеюсь мне тут помогут.

Вывести с клавиатуры массив X, содержащий 20 элементов. Вычислить значения функции y=0,5 LN x при значениях аргумента, заданных в массиве X и поместить их в массив Y. Найти в массиве Y максимальный элемент, целая часть которого кратна 3 и его индекс. На экран вывести массивы X,Y и индекс найденного элемента.
p.s Можно делать и на паскале, код ведь все равно одинаковый

Ответы 1

const
  n = 20;

type
  V = array[1..n] of real;

var
  x, y: V;
  i, k: integer;
  amax: real;

begin
  writeln('Введите ', n, ' положительных элементов массива Х');
  amax := -1E20;
  k := 0;
  for i := 1 to n do
  begin
    read(x[i]);
    {защита от дурака}
    if x[i] < 0 then x[i] := abs(x[i])
    else if x[i] = 0 then x[i] := 1;
    {сразу же находим значения элементов массива у и заодно нужный максимум}
    y[i] := 0.5 * ln(x[i]);
    if (y[i]>=3) and ((Trunc(y[i]) mod 3) = 0) and (amax<y[i]) then
    begin
      amax := y[i];
      k := i
    end
  end;
  writeln('  i        Xi          Yi');
  writeln('---------------------------');
  for i := 1 to n do
    writeln(i:3,x[i]:12:4, y[i]:12:4);
  writeln;
  writeln('Искомый индекс:', k)
end.

Тестовое решение:

Введите 20 положительных элементов массива Х
365 7236 1243.4 1823 4.8 273 97.54 17000 42334 13443 323674 6787.23 100000 543433 17422.74732 19534.3 212 5454 7354.8 3153.67
  i        Xi          Yi
---------------------------
  1    365.0000      2.9499
  2   7236.0000      4.4434
  3   1243.4000      3.5628
  4   1823.0000      3.7541
  5      4.8000      0.7843
  6    273.0000      2.8047
  7     97.5400      2.2901
  8  17000.0000      4.8705
  9  42334.0000      5.3267
 10  13443.0000      4.7531
 11 323674.0000      6.3437
 12   6787.2300      4.4114
 13 100000.0000      5.7565
 14 543433.0000      6.6028
 15  17422.7473      4.8828
 16  19534.3000      4.9400
 17    212.0000      2.6783
 18   5454.0000      4.3021
 19   7354.8000      4.4516
 20   3153.6700      4.0282

Искомый индекс:14



Премиум статус
Получайте самые быстрые
ответы на свои вопросы
У вас остались
вопросы?