smirnvlad
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору перед else не должно быть точки с запятой (строка 125) строка 143 не хватает точки с зяпятой потом начинает ругаться на Readln (F1, fam, ini, year, prop, pol); можно пробел читать в pol, а последним в pol прочитать пол определяем ещё одну переменную sp:char читаем пробелы в неё Readln (F1, fam, sp, ini, sp, year, sp, prop, sp, pol); после Assign (F0,'F6.out'); добавиляем rewrite(f0); не понял зачем нужны WriteFile; ReadFile; удалил условие сортировки If Book^.Year>Book^.Next^.Year then меняем на питерских мужчин по возрастанию Код: If ((Book^.Pol='G') and (Book^.Next^.Pol='M')) or {мужчин в начало} ((Book^.Pol=Book^.Next^.Pol) and (Book^.Prop='I') and (Book^.Next^.Prop='P')) or {иногородних в конец} ((Book^.Pol=Book^.Next^.Pol) and (Book^.Prop=Book^.Next^.Prop) and (Book^.Year>Book^.Next^.Year)) then {по старшинству} | затем procedure Writelist (Headline:String); добавляем параметр ограничивающий кол-во вывыдимых. -1 вывести все разделяем поля пробелами (выводим длину поля +1) Код: procedure Writelist (Headline:String; Count:integer); var cnt:integer; begin cnt:=0; Append (F0); Writeln (F0); Writeln (F0,Headline); Book:=Beglist; while (Book<>NIL) and ((count=-1) or (cnt<count)) do begin with Book^ do writeln (F0, fam:15, ini:5, year:5, prop:2, pol:2); Book:= Book^.Next; inc(cnt); end; Close (F0); end; | в вызовы WriteList добавляем количество выводимых элементов Код: Writelist ('Ishodnyi text',-1); SORT; Writelist ('Sortirovka', -1); Writelist ('Vvyvodim ego', 3); |
|