Создать файл f, содержащий сведения о книгах. Сведения о каждой из книг – это фамилия...

0 голосов
82 просмотров

Создать файл f, содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название книги и год издания. С помощью другой программы найти все книги данного автора, изданные с 1980 года. Сохранить эту информацию в файле g.


Информатика (15 баллов) | 82 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program primer;
Var f,g:text;
    I,n,k: integer;        S,a,data: string;    Begin
Assign(f,'F.txt');
Assign(g,'G.txt');
rewrite(f);
Writeln('Кол-во книг? ');
readln(n);
for i:=1 to n do begin
writeln('Фамилия автора, название и год издания книги № ',i,' ?');
readln(s);
writeln(f,s);  // в фаил f забиваем данные
end;
close(f);
Writeln('Укажите автора для поиска ');
readln(a);
Rewrite(g);
Reset(f);
For i:=1 to 2 do begin
Readln(f,s);
if (pos(a,s)<>0) then begin  //ищем автора
data:=''; 
for k:=length(s) downto 1 do begin 
          if (s[k]=' ') then begin 
                   data:=data+copy(s,k+1,length(s));        //смотрим дату
                   break;         
         end;             
         end;        
         end;
if (strtoint(data) >= 1980) then writeln(g,s);  //сравниваем дату 
end;
close(f);
close(g);
end.
ABC Pascal

(724 баллов)
0

только автора книгу и год программа так и не выводит

0

(((

0

Не выводит на экран или в файл g?

0

на экран

0

Это и не предусмотрено, по условию программа должна их только найти и и сохранить с файле g.

0

а где его потом искать, что бы посмотреть? или это тоже не предусмотрено?

0

В файле g

0

а где этот файл находится?

0

В папке в паскалем. Путь не указывал.

0

const n=50;
var х: array [1..n] of integer;
р: integer;
Пусть первые (n-1) элемент массива х упорядочены по неубыванию,
а n-я позиция в этом массиве свободна. Требуется вставить новый элемент р в этот массив с сохранением упорядоченности по неубыванию. Для поиска места вставки для элемента р использовать бинарный поиск.