Найти сумму и количество элементов в каждом столбце матрицы, являющихся простыми числами. если можно, то с объяснениями, . заранее !

хорошист428 хорошист428    2   19.06.2019 18:20    0

Ответы
TAISKAKISKA TAISKAKISKA  15.07.2020 21:58
Const
  m=5; //число строк
  n=10; //число столбцов
var
  i,j:integer;
   s,k:array[1..n]of integer; //s для суммы, k для количества простых чисел
  a:array[1..m,1..n]of integer;

function prost(x:integer):boolean; //функция определения простого числа
var i:integer;
begin
result:=true;
for i:=2 to (x div 2) do
  if (x mod i=0) and (i<>x) then result:=false;
end;  

begin
//заполнение случайными числами и вывод массива
for i:=1 to m do
  begin
  for j:=1 to n do
    begin
    a[i,j]:=random(20)+1;
    write(a[i,j]:5);
    end;
  writeln;
  end;
//Просмотр по столбцам и подсчет s и k
for j:=1 to n do
  begin
  for i:=1 to m do
    if prost(a[i,j]) then
       begin
      s[j]:=s[j]+a[i,j];
      k[j]:=k[j]+1;
      end;
  end;
writeln('Количество простых чисел по столбцам:' );   
for i:=1 to n do write(k[i]:5);
writeln;
writeln('Сумма простых чисел по столбцам:' ); 
for i:=1 to n do write(s[i]:5);
end.  
Найти сумму и количество элементов в каждом столбце матрицы, являющихся простыми числами. если можно
ПОКАЗАТЬ ОТВЕТЫ
alinaommuk alinaommuk  15.07.2020 21:58
var
a: array [1..250, 1..250] of integer; // матрица с числами.n, m, i, j: integer;
function prime(a: integer):boolean; //Проверка на простоту.vari: integer;f: boolean;begin  for i := 2 to trunc(sqrt(a)) do    if (a mod i = 0) then     begin         f := true;          break;      end;prime := f;end;beginreadln(n, m); // Ввод размера матрицы.for i := 1 to n dobeginfor j := 1 to m doread(a[i][j]);readln;end;for i := 1 to m do  for j := 1 to n do   if (not prime(a[j][i]))   then     begin      inc(a[n + 1][i]);      inc(a[n + 2][i], a[j][i]);      end;for i := 1 to m do  writeln(a[n + 1][i],' ',a[n + 2][i]); // Вывод суммы и кол - ваreadln;end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика