yurazharov
?>

Определить количество и сумму элементов 3 столбца матрицы: 2 1 -1 4 -3 1 -4 1 с= 2 1 2 3 удовлетворяющих условию iсi3i< =3 2 2 5 4 -3 -1 -3 1 через процедуры, если можно

Информатика

Ответы

Urmanov19903131
1. Вариант современного решения на современной версии языка Паскаль

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:array[,] of integer:=(
      ( 2, 1,-1, 4),
      (-3, 1,-4, 1),
      ( 2, 1, 2, 3),
      ( 2, 2, 5, 4),
      (-3,-1,-3, 1));
  Writeln('*** Исходная матрица ***');
  a.Println(3); Writeln(3*a.ColCount*'-');
  var s:=a.Col(2).Where(x->Abs(x)<=3);
  Writeln('Элементов ',s.Count,', их сумма равна ',s.Sum)
end.

Результат
*** Исходная матрица ***
  2  1 -1  4
 -3  1 -4  1
  2  1  2  3
  2  2  5  4
 -3 -1 -3  1

Элементов 3, их сумма равна -2

2. Вариант решения "Так писали наши дедушки и так нас учат в школе"

const
  m=5;
  n=4;
  a:array[1..m,1..n] of integer=(
      ( 2, 1,-1, 4),
      (-3, 1,-4, 1),
      ( 2, 1, 2, 3),
      ( 2, 2, 5, 4),
      (-3,-1,-3, 1));

procedure SumCol(m,k:integer; var p,s:integer);
  var
    i:integer;
  begin
    s:=0; p:=0;
    for i:=1 to m do
      if Abs(a[i,k])<=3 then begin
        s:=s+a[i,k];
        p:=p+1
        end
  end;

var
  i,j,kol,sum:integer;
 
begin
  Writeln('*** Исходная матрица ***');
  for i:=1 to m do begin
    for j:=1 to n do Write(a[i,j]:3);
    Writeln
    end;
  for i:=1 to n do Write('---');
  Writeln;
  SumCol(m,3,kol,sum);
  Writeln('Элементов ',kol,', их сумма равна ',sum)
end.

Результат
*** Исходная матрица ***
  2  1 -1  4
 -3  1 -4  1
  2  1  2  3
  2  2  5  4
 -3 -1 -3  1

Элементов 3, их сумма равна -2
Диана820
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
  var m,n:integer;
  Write('Ввведите число строк и столбцов: ');
  Read(m,n);
  Writeln('Исходный массив');
  var L:=MatrixRandom(m,n,-99,99);
  var s:=0;
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do begin
      Write(L[i,j]:4);
      if L[i,j]<0 then s+=L[i,j]
      end;
    Writeln
  end;
  Swap(L[0,0],L[m-1,n-1]);
  Writeln('Результирующий массив');
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do Write(L[i,j]:4);
    Writeln
  end;
  Writeln('Сумма отрицательных элементов равна ',s)
end.

Тестовое решение:
Ввведите число строк и столбцов: 5 8
Исходный массив
  59  28 -26 -31  -2 -75   6  24
 -41 -50 -34 -31  58  49 -14  44
 -82  15 -47  67   1 -91 -47  -6
 -36  73 -41  87  15  61  87 -36
   3 -19  34 -27  72 -49  45 -69
Результирующий массив
 -69  28 -26 -31  -2 -75   6  24
 -41 -50 -34 -31  58  49 -14  44
 -82  15 -47  67   1 -91 -47  -6
 -36  73 -41  87  15  61  87 -36
   3 -19  34 -27  72 -49  45  59
Сумма отрицательных элементов равна -854
Vasilevna_Utenkova651
Всего существует 16 (ну лично я смогла только эти найти) вариантов форматирование слова.
1) Шрифт 1
2) Шрифт 2
3) Шрифт 1; полужирное
4) Шрифт 2; полужирное
5) Шрифт 1; полужирный; курсив
6) Шрифт 2; полужирный; курсив
7) Шрифт 1; полужирный; курсив; подчеркнутое
8) Шрифт 2; полужирный; курсив; подчеркнутое
9) Шрифт 1; курсив
10) Шрифт 2; курсив
11) Шрифт 1; курсив; подчеркнутое
12) Шрифт 2; курсив; подчеркнутое
13) Шрифт 1; подчеркнутое
14) Шрифт 2; подчеркнутое
15) Шрифт 1; полужирный; подчеркнутое
16) Шрифт 2; полужирный; подчеркнутое

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

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

Определить количество и сумму элементов 3 столбца матрицы: 2 1 -1 4 -3 1 -4 1 с= 2 1 2 3 удовлетворяющих условию iсi3i< =3 2 2 5 4 -3 -1 -3 1 через процедуры, если можно
Ваше имя (никнейм)*
Email*
Комментарий*

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

elena-kondyreva
i7aster26
Annabill1987
lbondareva
vvb1383
sabinina0578
ivanovanata36937365
Svetlaru70
kush-2640
myudanova631
mariavayda88734
Li-111
andreevaanastsiyao82
LYuBOV
platonovkosty