В принципе, решение формально арифметически правильное. НО ведь задача нереальна.
1. Как правило, резидентам законодательно запрещено осуществлять на территории своего государства сделки не в валюте государства, значит эта сделка была либо серой(на бумаге одно, в реале другое), либо сделка осуществлялась на территории другого государства, где покупатель был нерезидентом.
2. Таких ОГРОМНЫХ процентов по депозитным валютным вкладом НЕ СУЩЕСТВУЕТ В ПРИНЦИПЕ, это же около 300% годовых в валюте! Это под какие же процены банк должен выдавать кредиты, чтобы привлечённые ресурсы были рентабельные, да и кто их под такие проценты возьмёт!. Реальные проценты по депозитным вкладам 5-10% ГОДОВЫХ.
Я не случайно написал этот комментарий, ведь если по физике вам предложат задачу, ну например, такую "Сколько времени продлится полет на Марс, если расстояние до него 60000000км, а скорость космолёта 500000км/с", вы ведь не будете её решать, потому что такой скорости не может быть. Так и здесь: таких процентов не может быть! Поэтому решать такую задачу нельзя, она описывает не существующие объекты(ситуацию).
Вот и всё!
Успехов!
n=5;m=10;
var
b:array[1..n,1..m]of integer;
i,j,k,buf,l:integer;
begin
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
b[i,j]:=random(50);
write(b[i,j]:4);
end;
end;
writeln;
for j:=1 to m do
begin
k:=0;
for i:=1 to n-1 do
if b[i,j]<b[i+1,j]then
k:=k+1;
if k=n-1 then
buf:=buf+1;
end;
k:=0;
for l:=2 to m do
if l mod 2=0 then
for i:=1 to n-1 do
for j:=i+1 to n do
if b[i,l]>b[j,l]then
begin
k:=b[i,l];
b[i,l]:=b[j,l];
b[j,l]:=k;
end;
writeln('увеличилось ',m div 2-buf);
for i:=1 to n do
begin
writeln;
for j:=1 to m do
write(b[i,j]:4);
end;
end.