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

Alena200302 Alena200302    1   14.06.2019 10:50    4

Ответы
аня2836 аня2836  12.07.2020 01:29
Function IsPrime(n:integer):Boolean;
{ Проверка, является ли число простым }
var
  p:integer;
  found:Boolean;
begin
  found:= (n mod 2 = 0);
  p:=3;
  while (not found) and (sqr(p)<=n) do
    begin
    found:=(n mod p = 0);
    p:=p+2
    end;
  IsPrime:=(not found) or (p = 2)
end;

const
  m1 = 20;
  n1 = 20;

var
  a: array[1..m1, 1..n1] of integer;
  s,k:array[1..n1] of integer;
  i, j, m, n, sum, kol: integer;

begin
  Write('Введите через пробел число строк и столбцов массива: ');
  Readln(m, n);
  Randomize;
  Writeln(#13#10, 'Исходный массив');
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i,j]:= Random(99)+1;
      Write(a[i,j]:3)
    end;
    Writeln
  end;
  for j:=1 to n do
  begin
    sum:=0; kol:=0;
    for i:=1 to m do
      if IsPrime(a[i,j]) then
      begin sum:=sum+a[i,j]; kol:=kol+1 end;
    s[j]:=sum; k[j]:=kol
  end;
  Writeln('*** Сумма простых элементов по столбцам ***');
  for j:=1 to n do Write(s[j]:4);
  Writeln;
  Writeln('*** Количество простых элементов по столбцам ***');
  for j:=1 to n do Write(k[j]:4);
  Writeln
end.

Тестовое решение:

Введите через пробел число строк и столбцов массива: 12 15

Исходный массив
 36 74 72 75 25 58 26 45 25 51 35 83 34  8 99
 53 55  3 51 31  7 65 91 99 95 40 91 86 80 39
 61  5 92 50 28 40  7 93 46 46 20  2 61 45 91
 85 10 47 49 54 29 15 10 49 13 70 83 73 79 85
 67 40 65 85 90 31 90 83 80 59 46 61 57  5 12
  6  4 46  9 10 30 44 37 27 11 46 94 44 38 57
 57 34 14 61 79 80 37 75 55 60 94 27 67 90  8
 67 58  5 37  7 67 37 64 69 55 24  3 38 75 44
 36 47 46 23  2 12 47 96 26 31 69 28 91 49 16
  4 76 47 19 43 88 89  7 31 90 21 69 45  6 55
 78 98  1 11 24 48 80 44 88 96 21 61 79  7 38
 39 46 16 54 52 47 55 20 33 56 46 40 16 33 81
*** Сумма простых элементов по столбцам ***
 248  52 103 151 160 181 217 127  31 114   0 291 280  91   0
*** Количество простых элементов по столбцам ***
   4   2   5   5   4   5   5   3   1   4   0   5   4   3   0
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика