0
type
mas = array [1 .. 10000] of real;
var
n: integer;
a: mas;
Rf: text;
Procedure Skaityti;
var
i: integer;
Df: text;
begin
Assign(Df, 'duom1.txt');
Reset(Df);
Readln(Df, n);
for i := 1 to n do
Read(Df, a[i]);
Close(Df);
end;
Procedure MinMax(var min, max, nrmin, nrmax, vid: real);
var
i: integer;
begin
min := a[1];
max := a[1];
nrmin := 1;
nrmax := 1;
for i := 1 to n do
begin
if min > a[i] then
begin
min := a[i];
nrmin := i;
end;
if max < a[i] then
begin
max := a[i];
nrmax := i;
end;
vid := vid + a[i];
end;
vid := vid/n;
end;
var
min, max, nrmin, nrmax, vid: real;
begin
Skaityti;
MinMax(min, max, nrmin, nrmax, vid);
Assign(Rf, 'rez.txt');
Rewrite(Rf);
WriteLn(Rf, 'biggest amount ', max:7:2, ' number ', nrmax:7:0);
WriteLn(Rf, 'smallest amount ', min:7:2, ' number', nrmin:7:0);
WriteLn(Rf, 'average amount ', vid:7:2);
WriteLn(Rf);
WriteLn(Rf, 'number amount');
Close(Rf);
end.
这是代码,它将一个.txt文件中的元素读取到一个数组中,我创建了查找它的最大值和最小值的过程。现在我需要创建一个过程,以便从最大到最小以及它旁边的行号编写我的数组。它应该看起来像这样:帕斯卡排列阵列,行号
Row number value
5 1000000
6 999999
8 888888
等等。任何想法?
P.S.我可以安排该数组是从最大到最小,但随后行号会陷入困境:/
嗯,我们还没有学到什么关于在学校的记录,任何其他方式?我会尝试去了解现在的记录 –
不,我真的不能想到任何其他(合理)的方式。专门发明了一种记录结构,以将密切相关的数据保存在一起。我相信你会发现它的基本形式(你需要)的概念很简单。 –
@Tom:我可以。他可以使用两个数组,一个用于实数,另一个用于索引。交换一个意味着交换另一个。使用记录当然会更自然,可能会更好,但它可以在没有它们的情况下完成。 –