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:我可以。他可以使用兩個數組,一個用於實數,另一個用於索引。交換一個意味着交換另一個。使用記錄當然會更自然,可能會更好,但它可以在沒有它們的情況下完成。 –