Дан массив y(11). составить программу обработки массива: 1. найти сумму отрицательных элементов массива среди элементов, стоящих на нечетных местах. 2. заменить все элементы, стоящие на нечетных местах, значениями их квадратов. 3. подсчитать количество 1, стоящих на четных местах. все это должно быть в одной , решите качественно, много . ах, да, все это на языке паскаль.

Nazarkadm Nazarkadm    3   24.06.2019 05:30    0

Ответы
sergeybondarchyk sergeybondarchyk  11.04.2020 18:07
Var Y: array [1..11] of integer;
var i, sum, n: integer;
begin
randomize;
for i:=1 to 11 do begin 
Y[i]:=-10+random (21); 
write (Y[i], ' '); 
end;
sum:=0;
for i:=1 to 11 do begin 
if (i mod 2<>0) and (Y[i]<0) then sum:=Y[i]+sum; //№1 
if i mod 2<>0 then Y[i]:=Y[i]*Y[i]; //№2 
if (i mod 2=0) and (Y[i]=1) then inc (n); //№3
end;
writeln;
writeln ('Сумма =', sum);
writeln ('Количество 1 на четных местах =', n);
end.
ПОКАЗАТЬ ОТВЕТЫ
NeGaTiV1488228 NeGaTiV1488228  11.04.2020 18:07
Const
  n = 11;

var
  x: array[1..n] of integer;
  i, k, d, s: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  k := 0; s := 0;
  for i := 1 to n do
  begin
    d := Random(11) - 5;
    Write(d:3);
    if (i mod 2) = 0 then begin { четное место }
      if d = 1 then Inc(k);
      x[i] := d
    end
    else begin
      if d < 0 then s := s + d;
      x[i] := sqr(d)
    end
  end;
  Writeln;
  Writeln('Результирующий массив');
  for i := 1 to n do Write(x[i]:3);
  Writeln;
  Writeln('Количество единиц на четных местах равно ', k);
  Writeln('Сумма отрицательных элементов на нечетных местах равна ', s)
end.

Тестовое решение:
Элементы массива
 -3  0 -5  1  5  1 -3 -4  5 -3 -2
Результирующий массив
  9  0 25  1 25  1  9 -4 25 -3  4
Количество единиц на четных местах равно 2
Сумма отрицательных элементов на нечетных местах равна -13
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика