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

С++
составить функцию вычисления суммы элементов массива над главной диагональю произвольной матрицы. (передача массивов в функцию)

👇
Открыть все ответы
Ответ:
Крипер1111111
Крипер1111111
10.02.2022
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
begin
  var a:=MatrixRandom(7,7,0,9);
  var k:=0;
  for var i:=0 to 6 do begin
    for var j:=0 to 6 do begin
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.

Тестовое решение:
  2  1  7  3  3  2  7
  9  2  9  2  0  5  5
  4  2  6  9  4  6  0
  1  0  3  5  4  5  9
  6  3  6  0  2  0  8
  0  8  4  3  2  1  8
  6  0  4  4  5  4  0
Кол-во элементов на [1,5]: 27

Вариант "совсем для школы"

const
  n=7;
var
  a:array[1..n,1..n] of integer;
  i,j,k:integer;
begin
  Randomize;
  k:=0;
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(10);
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.
4,8(31 оценок)
Ответ:
paradoksina
paradoksina
10.02.2022
{1}

const
 s:string = 'IVXLCDM';
var
 x,i,l,k:integer;

begin
 read(x); {x < 4000}
 l := 1000;
 i := 4;
 for i := 4 downto 1 do
   begin
   k := x div l mod 10;
   if k = 9 then
     write(s[i*2-1],s[i*2+1])
   else
   if k = 4 then
     write(s[i*2-1],s[i*2])
   else
     begin
     if k >= 5 then
       begin
       write(s[i*2]);
       k := k - 5
       end;
     for k := k downto 1 do
       write(s[i*2-1])
     end;
   l := l div 10
   end
end.

{2}

const
 eps = 1e-10;
 stp = 500;

var
 a: real;
 l,r,m: real;
 extreme: real;

function f(x:real):real;
begin
 f := a*x - exp(-x)
end;

begin
 read(a);
 if a = 0 then
   writeln('No solutions')
 else
 if a > 0 then
   begin
   l := 0;
   r := stp*2;
   while f(r) <= 0 do
     begin
     l := l + stp;
     r := r + stp
     end;
   while r - l > eps do
     begin
     m := (l + r)/2;
     if f(m) > 0 then
       r := m
     else
       l := m
     end;
   m := (l + r) / 2;
   writeln('Solution: ',m:0:5);
   writeln('e^-x = ',exp(-m):0:5);
   writeln('ax = ',a*m:0:5)
   end
 else
   begin
   extreme := ln(-1/a);
   if f(extreme) < 0 then
     writeln('No solutions')
   else
   if f(extreme) = 0 then
     writeln('Solution: ',extreme)
   else
     begin
     {writeln('Extreme: ',extreme);}
          l := extreme;
     r := 0;
     while r - l > eps do
       begin
       m := (l + r)/2;
       if f(m) < 0 then
         r := m
       else
         l := m
       end;
     m := (l + r) / 2;
     writeln('Solution 1: ',m:0:5);
     writeln('e^-x = ',exp(-m):0:5);
     writeln('ax = ',a*m:0:5);
     writeln;
          r := extreme;
     l := r - stp*2;
     while f(l) > 0 do
       begin
       l := l - stp;
       r := r - stp
       end;
     while r - l > eps do
       begin
       m := (l + r)/2;
       if f(m) > 0 then
         r := m
       else
         l := m
       end;
     m := (l + r) / 2;
     writeln('Solution 2: ',m:0:5);
     writeln('e^-x = ',exp(-m):0:5);
     writeln('ax = ',a*m:0:5)
           end
   end
end.

{3}

var
 c: array [1..12] of 0..7;
 x,i,k: integer;

begin
 read(x);
 k := x;
 i := 0;
 repeat
   i := i + 1;
   c[i] := k mod 8;
   k := k div 8
 until k = 0;
 for i := i downto 1 do
   write(c[i])
end.
4,4(36 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ