Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- book = record
- author: string;
- title: string;
- pages: longint;
- year: longint;
- end;
- arrOfString = array [1..100] of string;
- arrOfBook = array [1..100] of book;
- function contains (var authors: arrOfString; size: longint;
- elem: string): boolean;
- var
- i: longint;
- f: boolean;
- begin
- f := false;
- for i := 1 to size do
- if (authors[i] = elem) then begin
- f := true;
- break;
- end;
- contains := f;
- end;
- procedure sortByYear(var a: arrOfBook; size: longint);
- var
- sorted: boolean;
- i: longint;
- temp: book;
- begin
- repeat
- sorted := true;
- for i := 1 to size-1 do
- if (a[i].year > a[i+1].year) then begin
- temp := a[i];
- a[i] := a[i+1];
- a[i+1] := temp;
- end;
- until (sorted);
- end;
- var
- a: arrOfBook;
- authors: arrOfString;
- N, i, j, k, size: longint;
- max: book;
- author: string;
- begin
- readln(N);
- for i := 1 to N do begin
- readln(a[i].author);
- readln(a[i].title);
- readln(a[i].pages);
- readln(a[i].year);
- end;
- readln(author);
- max.pages := 0;
- for i := 1 to N do
- if (a[i].year >= 1980) and (a[i].year <= 2004) and
- (a[i].pages > max.pages) then
- max := a[i];
- // answer 1
- if (max.pages <> 0) then
- writeln(max.author, ' ', max.title)
- else
- writeln('NONE');
- k := 0;
- for i := 1 to N do
- if (a[i].author = author) then
- inc(k);
- // answer 2
- writeln(k);
- size := 0;
- for i := 1 to N do
- if not (contains(authors, size, a[i].author)) then
- begin
- inc(size);
- authors[size] := a[i].author;
- end;
- for i := 1 to size do begin
- k := 0;
- for j := 1 to N do begin
- if (authors[i] = a[j].author) then
- inc(k);
- end;
- // answer 3
- writeln(authors[i], ' ', k);
- end;
- sortByYear(a, N);
- // answer 4
- for i := 1 to N do
- writeln(a[i].author, ' ', a[i].title, ' ',
- a[i].pages, ' ', a[i].year);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement