veronikarub
14.06.2022 19:30

please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please please


please please please please please please please please please please please please please please pl

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
etre
06.10.2022 06:42
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
procedure MatPrint(a:array[,] of integer);
begin
  var maxcol:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to maxcol do Print(a[i,j]);
    Writeln
    end
end;

begin
  var m:=ReadInteger('Кол-во строк:');
  var n:=ReadInteger('Кол-во столбцов:');
  var t:=MatrixRandom(m,n,10,99); // инициализация матрицы
  MatPrint(t);
  var a:=new real[n]; // массив для средних по столбцам
  for var j:=0 to n-1 do begin
    var s:=0;
    for var i:=0 to m-1 do s+=t[i,j];
    a[j]:=s/m
    end;
  // cортированная последовательность индексов столбцов
  var ai:=a.Select((x,i)->Rec(x,i)).SortedDescending
    .Select(x->x.Item2).ToArray;
  // cоздаем промежуточный массив
  var u:array[,] of integer; SetLength(u,m,n);
  for var j:=0 to n-1 do
    for var i:=0 to m-1 do u[i,j]:=t[i,ai[j]];
  t:=Copy(u); // вернем назад данные в исходный массив
  Writeln;
  MatPrint(t);
end.

Тестовое решение
Кол-во строк: 5
Кол-во столбцов: 8
24 30 70 85 92 32 11 25
83 92 64 51 28 47 10 22
50 14 76 84 23 63 64 39
30 22 84 59 55 32 58 63
80 36 53 74 80 82 84 33

85 70 92 24 32 11 30 25
51 64 28 83 47 10 92 22
84 76 23 50 63 64 14 39
59 84 55 30 32 58 22 63
74 53 80 80 82 84 36 33
0,0(0 оценок)
Ответ:
Veroni4ka7090
02.01.2023 03:52
Данных в задаче мало, так как выплаты по кредиту зависят от вида платежа (дифференцированный или аннуитетный). С точки зрения написания программы, возможно, интереснее дифференцированный, когда выплата по основному долгу постоянная, а проценты уменьшаются (т.к. уменьшается оставшаяся сумма долга).
Программа на паскале для такого случая (выплаты раз в год):
var sum,s,c,p1,p2:real; y,i:integer;
begin
sum:=40000;
y:=4;
c:=25;
p1:=sum*c/100;
s:=0;
writeln('Основной долг   Проценты');
 for i:=1 to y do
  begin
  p2:=sum*c/100;
  s:=s+p1+p2;
  sum:=sum-p1;
  writeln(p1:5:2,' ':8,p2:6:2);
 end;
 writeln('За 4 года выплачено ',s:5:2);
end.

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