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

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

👇
Ответ:
daryakotyukova
daryakotyukova
31.12.2022
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
4,4(51 оценок)
Открыть все ответы
Ответ:
сонька177
сонька177
31.12.2022
Var m : array[0..6] of Integer;
  i,k,N : Integer;
Begin
  For i:=0 to 6 do m[i]:=0;
  Readln(N);
  k:=6;
  While N>0 do
  Begin
    If N>=Power(2,k) then
    Begin
      N:=N-Trunc(Power(2,k));
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=0 to 6 do Writeln(Power(2,i),'  ',m[i],' шт.');
end.

Еще вариант:
Const
  NN = 7;
  money : array[1..7] of Integer = (1,2,4,8,16,32,64);
Var m : array[1..NN] of Integer;
  i,k,N : Integer;
Begin
  For i:=1 to NN do m[i]:=0;
  Readln(N);
  k:=NN;
  While N>0 do
  Begin
    If N>=money[k] then
    Begin
      N:=N-money[k];
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=1 to NN do Writeln(money[i],'  ',m[i],' шт.');
end.
4,7(42 оценок)
Ответ:
vjfduxhufsnks46
vjfduxhufsnks46
31.12.2022
Program gt2;
var i,j,s:integer;
a:array[1..4,1..4]of integer;
begin
randomize;
for i:=1 to 4 do
for j:=1 to 4 do
a[i,j]:=random(7)+12;
for i:=1 to 4 do
begin
s:=0;
for j:=1 to 4 do
s:=s+a[j,i];
writeln(s);
end;
end.

program gt3;
var i,j,s:integer;
a:array[1..7,1..7]of integer;
begin
randomize;
for i:=1 to 7 do
for j:=1 to 7 do
a[i,j]:=random(7)+12;
for i:=1 to 7 do
begin
s:=0;
for j:=1 to 7 do
if(a[j,i]<14)then s:=s+1;
writeln(s);
end;
end.

program gt4;
var i,j,p:integer;
a:array[1..3,1..3]of integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
read(a[i,j]);
for i:=1 to 3 do
begin
p:=a[i,1];
a[i,1]:=a[i,2];
a[i,2]:=p;
end;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
write(a[i,j],' ');
end;
writeln;
end;
end.
4,7(50 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ