М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
19zm19zm
19zm19zm
27.11.2021 18:38 •  Информатика

Если количество нечетных элементов массива a(n,m) больше 5, то найти среднее арифметическое отрицательных элементов каждой строки, иначе – удвоить все элементы массива.

👇
Ответ:
Tiger333
Tiger333
27.11.2021
// PascalABC.NET 3.0, сборка 1073
const
  nn=30;
  mm=30;
var
  a:array[1..mm,1..nn] of integer;
  m,n,i,j,k,s:integer;
begin
  Writeln('Введите число строк и столбцов массива: '); Read(m,n);
  Randomize;
  Writeln('*** Исходный массив ***');
  k:=0;
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=Random(51)-25;
      Write(a[i,j]:4);
      if Odd(a[i,j]) then Inc(k)
    end;
    Writeln
  end;
  if k>5 then begin
    Writeln('Средние арифметические отрицательных элементов по строкам');
    for i:=1 to m do begin
      s:=0; k:=0;
      for j:=1 to n do
        if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end;
      if k>0 then Writeln(s/k:9:5) else Writeln('  0.00000');
    end
  end
  else begin
    Writeln('*** Результирующий массив ***');
    for i:=1 to m do begin
      for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end;
    Writeln
    end
  end
end.

Тестовые решения:
Введите число строк и столбцов массива:
8 6
*** Исходный массив ***
 -16  -8  -1  24 -22   1
  -9 -20 -25  13 -11  10
 -15  10 -12  20 -22   3
  -6  25  -3  25 -14  22
  24  -4  24  17  -4 -17
 -23  -9 -22   1 -18 -13
 -12  13   6 -16   2 -13
  19   8 -22  14  -3   4
Средние арифметические отрицательных элементов по строкам
-11.75000
-16.25000
-16.33333
 -7.66667
 -8.33333
-17.00000
-13.66667
-12.50000

Введите число строк и столбцов массива:
3 5
*** Исходный массив ***
   3  24 -21 -22  -8
 -21  14 -22   0 -22
  15 -16  -2   6  22
*** Результирующий массив ***
   6  48 -42 -44 -16
 -42  28 -44   0 -44
  30 -32  -4  12  44
4,7(6 оценок)
Открыть все ответы
Ответ:
Djzhdujd
Djzhdujd
27.11.2021

program raf105;

const

 n = 10;

var

 a,b,c: array[1..n] of integer;

 i,j,x,max,mpos,b1,c1: integer;

begin

write('Введите максимальное число: ');

readln(x);

writeln('Заполните массив из ',n,' элементов');

for i:=1 to n do

begin

 readln(a[i]);

 if a[i] > x

   then begin

     b1:= b1+1;

     b[b1]:= a[i];

   end

   else begin

     c1:= c1+1;

     c[c1]:= a[i];

   end;

end;

for i:=1 to c1 do

begin

 max:= -10000;

 for j:=i to c1 do

   if c[j] >= max

     then begin

       max:= c[j];

       mpos:= j;

     end;

 c[mpos]:= c[i];

 c[i]:= max;

end;

for i:=1 to b1 do

 a[i]:= b[i];

for i:=1 to c1 do

 a[i+b1]:= c[i];

write('Отсортированный массив: ');

for i:=1 to n do

 write(a[i],' ');

end.

PascalABC 3.4.2
4,5(69 оценок)
Ответ:
JessyMurMur
JessyMurMur
27.11.2021
Для решения подобных заданий, нужно перевести данные цифры в маске и узле в двоичную с.с. и сделать поразрядную коньюнкцию(логическое умножение). 255(10) равно 111 111 11(2) значит, любое число при умножении на это, даст себя же, т.к. при умножении 1 на 0 будет 0, значит первые 2 цифры остануться теми же 224.23, а вот 240 и 251 нужно перевести в двоичнцю с.с. и посчитать. 240(10) это 11 110 000(2), а 251(10) равно 11 111 011, вместе они дадут 11 110 000(2), переводим это число в 10 с.с. это будет 240. При умножении на 0 будет 0,поэтому в конце 0 остаеться. В итоге у нас получилось:224.23.240.0 ответ:DFBH
4,7(53 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ