Помогите, пожалуйста с программированием! 1.Из массива Р, содержащего 10 элементов,...

0 голосов
47 просмотров

Помогите, пожалуйста с программированием!
1.Из массива Р, содержащего 10 элементов, сформировать массив Т по правилу:
a. Т(к)=к*Р(к), где к – чётные, Т(к)=Р(к)/к, где к – нечётные.

2. В массиве, содержащем 10 элементов, умножить на заданное число максимальный отрицательный элемент.


Информатика (52 баллов) | 47 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

1.
begin
write('  ');
var P:=ArrRandom(10,10,90).Println('     ');
var T:=P.Select((x,k)->(k+1) mod 2=0?real(x*(k+1)):real(x/(k+1))).ToArray;
for var i:=0 to T.Length-1 do write(T[i]:7:2);
end.

Пример:
  50     37     37     15     40     86     64     41     53     46
  50.00  74.00  12.33  60.00   8.00 516.00   9.14 328.00   5.89 460.00

2.
begin
var k:=ReadInteger('k = ');
var a:=ArrRandom(10,-20,20).Println;
var m:=a.Where(x->x<0).Max;<br>writeln('Макс.отрицательное = ',m,', ',m,'*',k,'=',m*k);
end.

Пример:
k =  5
15 10 -7 -13 -4 16 -12 -2 9 -12
Макс.отрицательное = -2, -2*5=-10

(194k баллов)
0 голосов

Var p,t: array [1..10] of real;
k:integer;
begin
for k:=1 to 10 do
readln( p[k]);
for k:=1 to 10 do begin
if k mod 2=0 then t[k]:=k*p[k];
if k mod 2=1 then t[k]:=p[k]/k;
end;
for k:=1 to 10 do
writeln (p[k]);
end.

(1.2k баллов)
0

Если бы Вы скомпилировали программу, то получили бы ошибку "Нельзя преобразовать тип real к integer"

0

Функция mod применима только для типа чисел integer

0

Программа прекрасно компилируется. Друзья не забываете что это школьные задания и предназначены для школы а не для магистров