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

Написать программу решения следующей : для каждой из матриц a(5,5) иb(8,8) вычислить сумму и количество отрицательных элементов, расположенных на главной диагонали и выше её. использовать подпрограмму. на паскале.

👇
Ответ:
ruzhovaelizave
ruzhovaelizave
13.04.2022
// PascalABC.NET 3.2, сборка 1425 от 22.04.2017
// Внимание! Если программа не работает, обновите версию!

function KS(a:array[,] of integer):(integer,integer);
begin
  (var k,var s):=(0,0);
  for var i:=0 to a.RowCount-1 do
    for var j:=i to a.ColCount-1 do
      if a[i,j]<0 then (k,s):=(k+1,s+a[i,j]);
  Result:=(k,s)
end;

begin
  var a:=MatrRandom(5,5,-50,50); a.Println(4);
  var r:=KS(a); Writeln('k=',r[0],', Sum=',r[1]);
  var b:=MatrRandom(8,8,-80,45); b.Println(4);
  r:=KS(b); Writeln('k=',r[0],', Sum=',r[1]);
end.

Пример
  -9 -41  -6 -49  36
   6  -7  -2  -1  28
  22 -29 -20 -12   7
 -11 -37  14  34 -41
 -23  11  -9 -26 -46
k=11, Sum=-234
   9  34 -68 -32 -43 -61 -19 -55
 -66   3 -79  41 -47  27  -7  31
 -71  -7 -26  28 -58  -2 -61 -77
 -66  39 -39 -76 -13   2  21   6
 -56  42 -61   1 -39 -69 -57  -2
 -51 -79 -57  10 -10 -27  29  19
 -48 -55 -56 -76  43 -32  29 -70
  15 -71 -46 -37  23 -24   3 -22
k=23, Sum=-1010
4,4(52 оценок)
Открыть все ответы
Ответ:
//Как-то громоздко получилось, но я так вижу. Эх, выходные.
const n=5;
var a:array[1..n] of integer;
b:array[0..8] of integer;
ar:array[1..n] of integer;
i,c,j:integer;
begin
randomize;
writeln('Array:');
for i:=1 to n do
begin
a[i]:=random(8);
write(a[i]:4);
end;
for i:=1 to n do
 begin;
  for j:=0 to 8 do
    if a[i]=j then inc(b[j]);
 end;
for i:=1 to n do
 begin;
  for j:=0 to 8 do
   if (b[j]>1) and (a[i]=j) then a[i]:=9;
 if a[i]<>9 then
  begin;
   inc(c);
   ar[c]:=a[i];
  end;
 end;
 writeln;
 for i:=0 to 8 do writeln(i,'=',b[i]);
writeln;
writeln('Final array:');
for i:=1 to n do
if a[i]=9 then a[i]:=0;

for i:=1 to c do
begin;
 a[i]:=ar[i];
 write(a[i]:4);
end;
end.
4,5(57 оценок)
Ответ:
1 - моделью
2 - меньше информации
3 - глобус, макет здания, муляж яблока, манекен
4 - рисунок, фотография
5 - знаковой
6 - смешанной
7 - автомобиль — техническое описание автомобиля, город — путеводитель по городу
8 - существенные признаки объекта-оригинала
9 - разные модели объекта
10 - физическая карта, график зависимости расстояния от времени, схема узора для вязания крючком, схема метро
11 - словесное описание, формула
12 - знаковой
13 - смешанной
14 - болт — чертеж болта, мелодия — нотная запись мелодии
4,8(10 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ