М | Читай правила! В следующий раз, пост без тегов - удалю! |
Список устройств нужно отсортировать по убыванию их стоимости.
Вот что получилось, но не работает... Не могу скомпилировать.
Помогите довести до ума.
Program Lab;
uses crt;
const
n = 5;
type
TRec = record
end;
Var
TBase: array [1..n] of TRec;
Name : string;
Ves : real;
Vus : real;
Dli : real;
Shi : real;
Stoim : real;
procedure Input (var b : TBase); {ўў®¤ ¤ ле}
var
i : byte;
begin
for i := 1 to n do begin
writeln('‡ ЇЁбм N ',i);
write('Naimenovanie ustroistva : '); readln(b[i].name);
write('Ves : '); readln(b[i].Ves);
write('Vusota : '); readln(b[i].Vus);
write('Dlina : '); readln(b[i].Dli);
write('Shirina : '); readln(b[i].Shi);
write('Stoimost : '); readln(b[i].Stoim);
writeln;
end;
end;
procedure Print(b : TBase); // ўлў®¤ ¤ ле
var
i : byte;
begin
for i := 1 to n do begin
writeln('‡ ЇЁбм N ',i);
write('Naimenovanie ustroistva : '); readln(b[i].name);
write('Ves : '); readln(b[i].Ves);
write('Vusota : '); readln(b[i].Vus);
write('Dlina : '); readln(b[i].Dli);
write('Shirina : '); readln(b[i].Shi);
write('Stoimost : '); readln(b[i].Stoim);
writeln;
end;
end;
procedure Sort(var b : TBase); {б®авЁа®ўЄ § ЇЁбЁ Ї® Ї®«о Age}
var
i : byte;
temp : TRec;
flag : boolean;
begin
repeat
flag := true;
for i := 1 to n - 1 do
if not (b[i].Stoim >= b[i+1].Stoim) then begin
temp := b[i];
b[i] := b[i + 1];
b[i + 1] := temp;
flag := false;
end;
until flag;
end;
var
base : TBase;
Begin
clrscr;
Writeln(' ':25,'Vedomost P-21');
writeln(' ':5,'|---|--------------|-----|--------------------------|-------|');
writeln(' ':5,'| |Naimenovanie |Ves | Gabaritu, cm | Stoim |');
writeln(' ':5,' | ustroistva | kG | Vusota | Dlina |Shirina | grn |');
writeln(' ':5,'|---|--------------|-----|--------------------------|-------|');
var
base : TBase;
begin
writeln('‚ў®¤ ¤ ле : ');
Input(base);
writeln('‚лў®¤ ¤® б®авЁа®ўЄЁ : ');
Print(base);
Sort(base);
writeln;
writeln('‚лў®¤ Ї®б«Ґ б®авЁа®ўЄЁ : ');
Print(base);
readln;
end.
Сообщение отредактировано: Altair -