Разработать алгоритм и программу решения : найти сумму отрицательных элементов двумерного массива находящихся на главной диагонали матрицы размером 10х10 (с вводом и выводом матрицы)
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
07.08.2020
// 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.
Максимальное число, составленное из утроенного произведения цифр будет 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 (с вводом и выводом матрицы)