Задан одномерный массив а(n) (n< =60). на место минимального элемента массива записать сумму последних к элементов массива. если а[1]> =0, то умножить все элементы этого массива на квадрат минимального элемента данного вектора, а если а[1]< 0, то умножить все элементы на квадрат максимального элемента вектора. полученный массив распечатать. значение к вводится пользователем.

Julia10988 Julia10988    3   16.06.2019 00:40    27

Ответы
BeliyTigr115 BeliyTigr115  12.07.2020 22:51
Var 
 A:array[1..60] of integer;
 k,i,MIN,ind, MAX,SUM:integer;
begin
 SUM:=0;
 readln(k);
 randomize;
 writeln('Исходный массив:');
 for i:=1 to 60 do
  begin
    A[i]:=random(15)-5;
    Writeln('A[',i,']=',A[i]);
   end;
 MIN:=32600;
 MAX:=-32600;
 for i:=1 to 60 do //Ищем минимальный элемент
  begin
   if a[i]<MIN then
    MIN:=a[i];
    ind:=i;
  end;
 for i:=1 to 60 do //Ищем максимальный элемент 
    if a[i]>MAX then
       MAX:=a[i];
 for i:=60 downto 60-k do //Сумма последних k элементов 
  SUM:=SUM+a[i];
 A[ind]:=SUM;
if A[1]>=0 then 
  for i:=1 to 60 do
   begin 
     A[i]:=A[i]*sqr(MIN);
     Writeln('A[',i,']=',A[i]);
   end
 else 
  for i:=1 to 60 do
   begin
     A[i]:=A[i]*sqr(MAX);
     Writeln('A[',i,']=',A[i]);
    end;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика