Всем ! =) работаю в 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