Другие языки программирования и технологии

Мне нужна помощь в программировании

Паскаль АВС. Выдаёт ошибку. Помогите исправить.
Задание:
на основе таблицы, включающей название планеты, расстояние от Солнца, количество спутников, период обращения, средний радиус, массу, вывести на печать характеристики планет, расположенных в порядке не возрастания количества спутников (массы, радиуса обращения) .

Изначальна эта программа была написана на фри паскаль.
Поправил, работает:

program laba7;
type
stroka = record
nazvanie:String;
rast,perobr,rad,massa:real;
kol:integer;
end;
table=array [1..100] of stroka;

var
i,j,n,jmax:integer;
k:stroka;
v:table;
begin
Write ('Введите число планет n: ');
ReadLn (n);
for i:=1 to n do
begin
with v[i] do
begin
Write('Введите название планеты: ');
ReadLn(nazvanie);
Write('Введите расстояние от планеты до солнца: ');
ReadLn(rast);
Write('Введите количество спутников: ');
ReadLn(kol);
Write('Введите период обращения планеты: ');
ReadLn(perobr);
Write('Введите средний радиус планеты: ');
ReadLn(rad);
Write('Введите массу планеты: ');
ReadLn(massa);
end;
end;
WriteLn('Исходная таблица: ');
WriteLn('________________________________________________________');
WriteLn('|Название|Расстояние|Количество|Период |Средний|Масса|');
WriteLn('|планеты |до солнца |спутников |обращения|радиус | |');
WriteLn('________________________________________________________');
for i:=1 to n do
begin
with v[i] do
begin
WriteLn('|', nazvanie:8, '|', rast:10:0, '|', kol:10, '|', perobr:9:0, '|', rad:7:0, '|', massa:5:0, '|');
WriteLn('________________________________________________________');
end;
end;
WriteLn('Обработка таблицы');
WriteLn;

for i := 1 to n do
begin
jmax := i;
for j := i + 1 to n do
begin
if (v[jmax].kol < v[j].kol) or
(v[jmax].massa < v[j].massa) or
(v[jmax].rad < v[j].rad) or
(v[jmax].perobr < v[j].perobr) then
begin
jmax := j;
end;
end;
if jmax <> i then
begin
k := v[jmax];
v[jmax] := v[i];
v[i] := k;
end;
end;

WriteLn('Получилась таблица по убыванию количества спутников: ');
WriteLn('________________________________________________________');
WriteLn('|Название|Расстояние|Количество|Период |Средний|Масса|');
WriteLn('|планеты |до солнца |спутников |обращения|радиус | |');
WriteLn('________________________________________________________');
for i:=1 to n do
begin
with v[i] do
begin
WriteLn('|', nazvanie:8, '|', rast:10:0, '|', kol:10, '|', perobr:9:0, '|', rad:7:0, '|', massa:5:0, '|');
WriteLn('________________________________________________________');
end;
end;
end.
КТ
Касым Турымтай
1 098
Лучший ответ
Ужасно было написано. Гораздо проще написать заново. Тем более, что кодировка кирилицы другая.
Исправил компилируется за результат не отвечаю
program Project1;

{$APPTYPE CONSOLE}

type
stroka = record
nazvanie: array [1 .. 100] of char;
rast, perobr, rad, massa: real;
kol: integer;
end;

table = array [1 .. 100] of stroka;

var
i, j, n, imax, max: integer;
k: stroka;
v: table;

begin
write('‚ўҐ¤Ё зЁб «® Ї« ­Ґв n= ');
readln(n);
for i := 1 to n do
begin
with v[i] do
begin
write('‚ўҐ¤Ё ­ §ў ­ЁҐ Ї« ­Ґвл ');
readln(nazvanie[i]);
write('‚ўҐ¤Ё а ббв®п­ЁҐ Ї« ­Ґвл ®в ‘®«­ж ');
readln(rast);
write('‚ўҐ¤Ё Є®«ЁзҐбвў® бЇгв­ЁЄ®ў ');
readln(kol);
write('‚ўҐ¤Ё ЇҐаЁ®¤ ®Ўа 饭Ёп Ї« ­Ґвл ');
readln(perobr);
write('‚ўҐ¤Ё б।­Ё© а ¤Ёгб Ї« ­Ґвл ');
readln(rad);
write('‚ўҐ¤Ё ¬ ббг Ї« ­Ґвл ');
readln(massa);
end;
end;
writeln('€б室­ п в Ў«Ёж ');
writeln('________________________________________________________');
writeln('|Ќ §ў ­ЁҐ|ђ ббв®п­ЁҐ|Љ®«ЁзҐбвў®|ЏҐаЁ®¤ |‘।­Ё©|Њ бб |');
writeln('| Ї« ­Ґвл| ®в ‘®«­ж | бЇгв­ЁЄ®ў|®Ўа 饭Ёп| а ¤Ёгб| |');
writeln('________________________________________________________');
for i := 1 to n do
begin
with v[i] do
begin
write(nazvanie[i]);
write('| ', rast, ' | ', kol, ' | ', perobr, ' | ', rad, ' | ',
massa, '|');
writeln('_______________________________________________________________________________');
end;
end;
writeln('ЋЎа Ў®вЄ в Ў«Ёжл');
for i := 1 to n do
begin
max := v[i].kol;
for j := i to n do
if v[i].kol > max then
begin
imax := j;
k.kol := v[i].kol;
end;
k := v[imax];
v[imax] := v[i];
v[i] := k;
end;
writeln('Џ®«гзЁ« бм в Ў«Ёж Ї® гЎлў ­Ёо Є®«ЁзҐбвў бЇгв­ЁЄ®ў');
writeln('________________________________________________________');
writeln('|Ќ §ў ­ЁҐ|ђ ббв®п­ЁҐ|Љ®«ЁзҐбвў®|ЏҐаЁ®¤ |‘।­Ё©|Њ бб |');
writeln('| Ї« ­Ґвл| ®в ‘®«­ж | бЇгв­ЁЄ®ў|®Ўа 饭Ёп| а ¤Ёгб| |');
writeln('________________________________________________________');
for i := 1 to n do
begin
with v[i] do
begin
with v[i]
do

begin
write(nazvanie[i]);
write('| ', rast, ' | ', kol, ' | ', perobr, ' | ', rad, ' | ',
massa, '|');
writeln('_______________________________________________________________________________');
end;
end;
end;end.

Трабла здесь
k:=v[i].kol;
[dcc32 Error] Project1.dpr(61): E2010 Incompatible types: 'stroka' and 'Integer'