Aleksandr_Vasilev
?>

Разработать алгоритм и программу решения : найти сумму отрицательных элементов двумерного массива находящихся на главной диагонали матрицы размером 10х10 (с вводом и выводом матрицы)

Информатика

Ответы

Nataliya Aleksandr1197
Var    matrix: array[1..5,1..5] of integer;    i, j: integer; sg:=0; sp:=0;begin    writeln ('Введите 25 чисел: ');     for i := 1 to 5 do        for j := 1 to 5 do            read (matrix[i,j]);     for i := 1 to 5 do begin        for j := 1 to 5 do            write (matrix[i,j], ' ');        writeln    end;  for i:=1 to 5 do begin   for j:= 1 to 5 do   if j=i then sg:=sg+matrix[i,j]; end; for i:=5 downto 1 do    begin    for j:=1to 5 do    if (i+j)=6 then sp:=sp+matrix[i,j]    end;    sp:=sp-matrix[3,3];1 writeln(sg,' ',sp);readlnend
elenaowchinik4842
// PascalABC.NET 3.1, сборка 1179 от 29.02.2016
procedure GetProdNeg(a:array of integer; var p:real);
// произведение отрицательных элементов
begin
  p:=a.Where(x->x<0).Aggregate(1.0,(p,e)->p*e)
end;

function IsPrime(n:integer):boolean:=
  Range(2,Round(sqrt(n))).All(i->n mod i<>0);

procedure ArrPrime(n:integer; var a:array of integer);
// массив простых чисел не больших n
begin
  a:=Range(2,n).Where(i->IsPrime(i)).ToArray
end;

begin
  var n:=ReadInteger('n=');
  var a:=ArrRandom(n,-50,50); a.Println;
  var r:real;
  GetProdNeg(a,r);
  Writeln('Произведение ',r);
  n:=ReadInteger('n=');
  var b:array of integer;
  ArrPrime(n,b);
  b.Println
end.

Тестовое решение:
n= 15
27 -7 -36 40 -15 -21 -47 -28 -12 45 3 -38 -15 1 -39
Произведение 27866837980800
n= 300
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293
brakebox
Максимальное число, составленное из утроенного произведения цифр  будет 
9*3*N  -  не  может быть больше 54,  т.е.  
N может быть только 1 или 2.  По условию х>=10  ->  N=2  (N -порядок числа).
Поэтому искать нужно среди чисел от 11 до 54.  Решение - число 15.

var n,m: integer;
begin
  write('n = ');  readln(n);
  if n=2 then
  begin    m:=11;
    repeat
      if (m mod 10)*(m div 10)*3=m then
      begin
        writeln('число:  ',m);
        m:=55;
      end;
      m:=m+1;
    until m>54;
  end
  else  writeln('нет решения');
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Разработать алгоритм и программу решения : найти сумму отрицательных элементов двумерного массива находящихся на главной диагонали матрицы размером 10х10 (с вводом и выводом матрицы)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Хабарьева Андрей1056
Какой сигнал называют дискретным?
luxoutlet
Kharkina1328
Kozlovao4
sergeychelyshev197618
DJXEz80
Svetlana1877
Mikhail_Magomed635
asi19776
Александра Викторович531
vadim1140
mahalama7359
vs617
vnolenev
Shcherbakov_Artur1781