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

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

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



Привет! Я рад помочь тебе с задачей на 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. ```
Надеюсь, этот код поможет тебе решить задачу. Если у тебя возникнут еще вопросы, не стесняйся задавать!


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili