Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

TuvanMAN

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Преподователь при проверке задачки, поменял данные входном файле,  
раньше они выглядели так
Ivanov           A.B. 2989 Y M
Petrov            S.A. 1967 Y M
Smirnova        P.M. 1955 N W
Kuznecova      V.N. 1964 Y W
Popova           T.S. 1980 N W
Sokolov          L.R. 1995 N M
Lebedev         A.A  1994 Y M
Kozlova          I.I. 1989 Y W
Novikov          A.I. 1960 Y M
Morozov         B.V. 2999 Y M
 
П.С: Y-это есть прописка, N-иногородние, М-мужики, W-женщины...
 
После изменения данных стали выглядеть так  
 
Ivanov           A.B. 2989 Y M
Petrov            S.A. 1967 Y M
Smirnova        P.M. 1955 N W.
 
И в результирующий файл выводится так
Дано
Ivanov           A.B. 2989 Y M
Petrov            S.A. 1967 Y M
Smirnova        P.M. 1955 N W
Результат
Ivanov           A.B. 2989 Y M
Petrov            S.A. 1967 Y M
Smirnova        P.M. 1955 N W
 
Надо, чтобы после слова результат сортировало и не выводило женщин и без прописки. Вот на этом подловил препод. А так программа замечательно работала
 
Вот сама прога...
 
program zadan13_5;
  type
    PBook=^TBook;
    TBook=record
    Next:PBook;
    fam:string [15];
    ini:string [4];
    year: integer;
    prop: char;
    pol: char;
    pr:char;
  end;
 var
  Book,
  BegList: PBook;
  Rel:Pointer;
 
 procedure CreateList;
 Var
   Book1: PBook;
 begin
   Assign (input,'f1.inp');
   Reset (input);
   Beglist:=NIL;
   While not EOF (input) do
   Begin
     Book1:=Book;
     New (Book);
     with Book^ do
     begin
       Next:=NIL;
       If Beglist=NIL then
          Beglist:=Book
       else
         Book1^.Next:=Book;
       Readln (input, fam, pr, ini, pr, year, pr, prop, pr, pol);
     end;
   end;
   close (input)
 end;
 
procedure Writelist (Headline:String; Count:integer);
 var cnt:integer;
 begin
   cnt:=0;
   Append (output);
   Writeln (output);
   Writeln (output,Headline);
   Book:=Beglist;
   while (Book<>NIL) and ((count=-1) or (cnt<count)) do
   begin
     with Book^ do
       writeln (output, fam:15, ini:5, year:5, prop:2, pol:2);
     Book:= Book^.Next;
     inc(cnt);
   end;
   Close (output);
 end;
 
 procedure SORT;
 var
   Stop,
   First:Boolean;
   Book1,Book2:PBook;
 Begin
   Repeat
     Stop:=True;
     Book:=Beglist;
     First:=True;
     while Book^.Next<>NIL do
     Begin
       If ((Book^.Pol='W') and (Book^.Next^.Pol='M')) or
       ((Book^.Pol=Book^.Next^.Pol) and (Book^.Prop='N') and (Book^.Next^.Prop='Y')) or
       ((Book^.Pol=Book^.Next^.Pol) and (Book^.Prop=Book^.Next^.Prop) and (Book^.Year<Book^.Next^.Year)) then
       Begin
         Book1:=Book;
         Book:=Book^.Next;
         If First then
           Beglist:=Book else
         Begin
           Book2:=Beglist;
           while Book2^.Next<>Book1 do
              Book2:=Book2^.Next;
           Book2^.Next:=Book
         end;
         Book1^.Next:=Book^.Next;
         Book^.Next:=Book1;
         Stop:=False;
       end;
     First:=False;
     Book:=Book^.Next
     end
    until stop;
 end;
 
Begin
  Mark (Rel);
  CreateList;
  Assign (output,'F6.out');
  Rewrite (output);
  Writelist ('DANO',-1);
  SORT;
  Writelist ('Vvyvodim 3 molodyh peterburgcev', 3);
  Release (Rel);
END.
 

Всего записей: 23 | Зарегистр. 28-09-2010 | Отправлено: 00:30 10-11-2010
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru