Сортировка массивов в текстовом файле - Turbo Pascal

Формулировка задачи:

В файле 'input.txt' содержится Ivanov 650000 Petrov 780000 Sidarov 590000 Livanova 760000 Мне надо эти данные перенести в другой файл 'output.txt' но только числа в порядке возрастания Я сейчас сделал чтобы только хотя бы числа выводились в порядке возрастания,но они не выводятся ,объясните в чём проблема пожалуйста.
program sortmass;
var
   number:array[1..100] of integer;
   fio:array[1..100] of string;
   f, f1:text;
   i,j,k,m:integer;
begin
     k:=1;
     i:=1;
     j:=1;
     assign(f,'E:\input.txt');
     reset (f);
     while not EOF (f) do
     begin
          if (k mod 2<>0) then
     begin
           readln(f,fio[i]);
           i:=i+1;
     end
        else
     begin
           readln(f,number[j]);
           j:=j+1;
     end;
         k:=k+1;
     end;
         assign(f1,'E:\output.txt');
         rewrite (f1);
         if number[j] > number[j+1] then
     begin
          m := number[j];
          number[j] := number[j+1];
          number[j+1] := m;
     end;
         for j:=j to 4 do
         writeln (f1,number[j]);
     close (f);
     close (f1);
End.

Код к задаче: «Сортировка массивов в текстовом файле - Turbo Pascal»

textual
program sortmass;
type zap=record //тип запись с полями
         fio:string[20];//фио
         zrp:longint; //зарплата
         end;
var a:array[1..100] of zap;//массив записей
    f:text;
    i,j,k,m:integer;
    z:zap;
    s:string;
begin
assign(f,'input.txt');//файл в папке с программой(у меня)
reset (f);
k:=0;
while not EOF (f) do //читаем записи из файла
 begin
  k:=k+1;//номер записи
  readln(f,a[k].fio);//читаем фамилию
  read(f,a[k].zrp);//читаем зарплату
  readln(f,s);//пропускаем эту строку
 end;
close(f);
for i:=1 to k-1 do//сортируем массив по возрастанию зарплаты
for j:=i+1 to k do
if a[i].zrp>a[j].zrp then
 begin
  z:=a[i];
  a[i]:=a[j];
  a[j]:=z;
 end;
assign(f,'output.txt');
rewrite (f);
for i:=1 to k do //пишем массив в новый файл
 begin
  writeln (f,a[i].fio);
  writeln(f,a[i].zrp)
 end;
close (f);
write('Отсортированные данные записаны в файл output.txt')
End.

10   голосов, оценка 4.400 из 5


СОХРАНИТЬ ССЫЛКУ