Вопрос задан 27.07.2018 в 23:26. Предмет Информатика. Спрашивает Правдивец Елизавета.

Всем привет! =) Работаю в Delphi Надеюсь мне тут помогут.Вывести с клавиатуры массив X, содержащий

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сергеев Дмитрий.
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



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Привет! Я рад помочь тебе с задачей на Delphi. Для начала, давай создадим массив X, содержащий 20 элементов, и заполним его значениями, введенными с клавиатуры. Затем мы вычислим значения функции y = 0.5 * LN(x) для каждого значения аргумента из массива X и поместим их в массив Y. После этого найдем максимальный элемент в массиве Y, целая часть которого кратна 3, и определим его индекс. Наконец, выведем на экран массивы X и Y, а также индекс найденного элемента.

Вот код на Delphi, который решает данную задачу:

```pascal program ArrayCalculation;

uses SysUtils;

const N = 20;

var X: array[1..N] of Real; Y: array[1..N] of Real; i, maxIndex: Integer; maxValue: Real;

begin // Ввод значений массива X с клавиатуры for i := 1 to N do begin Write('Введите значение элемента X[', i, ']: '); ReadLn(X[i]); end;

// Вычисление значений функции y = 0.5 * LN(x) и заполнение массива Y for i := 1 to N do Y[i] := 0.5 * Ln(X[i]);

// Поиск максимального элемента в массиве Y, целая часть которого кратна 3 maxIndex := -1; maxValue := -MaxInt; for i := 1 to N do begin if (Fract(Y[i]) = 0) and (Trunc(Y[i]) mod 3 = 0) and (Y[i] > maxValue) then begin maxValue := Y[i]; maxIndex := i; end; end;

// Вывод массивов X и Y, а также индекса найденного элемента WriteLn('Массив X:'); for i := 1 to N do Write(X[i]:0:2, ' '); WriteLn;

WriteLn('Массив Y:'); for i := 1 to N do Write(Y[i]:0:2, ' '); WriteLn;

if maxIndex <> -1 then WriteLn('Индекс максимального элемента, целая часть которого кратна 3: ', maxIndex) else WriteLn('В массиве Y нет элементов, удовлетворяющих условию.');

ReadLn; end. ```

Надеюсь, этот код поможет тебе решить задачу. Если у тебя возникнут еще вопросы, не стесняйся задавать!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос