На program PercentagesArray;
uses
SysUtils;
const
ROWS = 3;
COLS = 5;
PERCENT_INCREASE = 0.05;
MIN_VALUE = 0.0;
MAX_VALUE = 100.0;
type
TMatrix = array[1..ROWS, 1..COLS] of real;
var
percentages: TMatrix;
i, j: integer;
function addSPercent(percent: real): real;
begin
addSPercent := percent * (1 + PERCENT_INCREASE);
end;
function getRandomReal(min, max: real): real;
begin
getRandomReal := min + random * (max - min);
end;
procedure fillArray(var matrix: TMatrix);
begin
randomize;
for i := 1 to ROWS do
for j := 1 to COLS do
matrix[i, j] := getRandomReal(MIN_VALUE, MAX_VALUE);
end;
procedure processArray(var matrix: TMatrix);
begin
for i := 1 to ROWS do
for j := 1 to COLS do
matrix[i, j] := addSPercent(matrix[i, j]);
end;
procedure printArray(const matrix: TMatrix; const title: string);
const
FIELD_WIDTH = 10;
DECIMALS = 2;
begin
writeln(title);
writeln('=' * (COLS * (FIELD_WIDTH + 1)));
for i := 1 to ROWS do
begin
for j := 1 to COLS do
write(matrix[i, j]:FIELD_WIDTH
![Big grin :D :D](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
ECIMALS, ' '
![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
;
writeln;
end;
writeln('=' * (COLS * (FIELD_WIDTH + 1)));
end;
begin
fillArray(percentages);
printArray(percentages, 'Initial array:'
![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
;
processArray(percentages);
writeln;
printArray(percentages, 'Array after adding 5%:'
![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
;
readln; // Pause to see results
end.