В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
slavioglokolea77
slavioglokolea77
20.07.2021 00:03 •  Информатика

В программе Паскаль АВС

Показать ответ
Ответ:
AirinMandarin
AirinMandarin
07.09.2020 18:09
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
const
  n=5;
type
  Matrix=array[1..n,1..n] of integer;

procedure DummySchool(var a:Matrix);
begin
  Writeln('Ввод элементов матрицы');
  for var i:=1 to n do begin
    Write(n,' элементов строки ',i,': ');
    for var j:=1 to n do Read(a[i,j]);
    end;
  Writeln('Сформирована матрица ',n,'x',n);
  for var i:=1 to n do begin
    for var j:=1 to n do Write(a[i,j]:5);
    Writeln
    end
end;

begin
  var B:Matrix;
  DummySchool(B);
  var sn:=0;
  var sp:=0;
  for var i:=1 to n do
    for var j:=1 to n do
      if B[i,j]<0 then sn+=B[i,j]
      else
        if B[i,j]>0 then sp+=B[i,j];
  Writeln('Сумма отрицательных ',sn);
  Writeln('Сумма положительных ',sp)
end.

Тестовое решение:
Ввод элементов матрицы
5 элементов строки 1: 6 23 -5 13 9
5 элементов строки 2: 42 0 -38 16 37
5 элементов строки 3: -5 -18 3 11 8
5 элементов строки 4: 9 13 -11 0 3
5 элементов строки 5: 19 -17 0 15 5
Сформирована матрица 5x5
    6   23   -5   13    9
   42    0  -38   16   37
   -5  -18    3   11    8
    9   13  -11    0    3
   19  -17    0   15    5
Сумма отрицательных -94
Сумма положительных 232
0,0(0 оценок)
Ответ:
дильназ149
дильназ149
24.01.2021 17:55
1. Вот так сейчас решают подобные задачи:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
  Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.

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

2. А вот так учат писать это же школьные учителя:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
  m:array[1..100] of real;
  i,k:integer;
  s:real;

begin
  s:=0;
  k:=0;
  for i:=1 to 100 do begin
    m[i]:=sin(i)*cos(i);
    if m[i]<>0 then begin
      s:=s+m[i];
      k:=k+1
      end
    end;
  Writeln(s/k)
end.

Тестовое решение:
-0.00136006072493969
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота