21.05.2017, 16:46 | #1 (permalink) |
Новичок
Регистрация: 21.05.2017
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Создание и преобразование файлов. Файлы прямого доступа
Пожалуйста, помоги сделать программу в Паскале. |
21.05.2017, 16:46 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Иногда самым эффективным в решении проблемы является прочтение схожих тем создание точки доступа ви-фи на вин 8.1 Создание точки доступа Преобразование файлов ISO Создание сетевого доступа |
21.05.2017, 20:00 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Type Infor = Record Actor, Film:String; end; Const Ar:Array[1..5] of Infor=((Actor: 'Gabin'; Film:'Le Chat'), (Actor:'Schwarzenegger'; Film:'Terminator 2'), (Actor: 'Loren'; Film:'The Key'), (Actor: 'Delon'; Film:'Borsalino'), (Actor: 'Deneuve'; Film:'Le Choc')); Var f:File of Infor; i:Byte; S:String; Inf:Infor; Begin Assign(f,'D:\xxx'); Rewrite(f); for i:=1 to 5 do write(f,Ar[i]); Close(f); Write('Enter the actor: '); Readln(S); Reset(f); Repeat Read(f,Inf); Until Inf.Actor=S; Close(f); Writeln('Film: '+Inf.Film); Readln End. |
|
21.05.2017, 20:25 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ах да, пардон: не разглядел, что требуется прямой доступ (хотя на кой пёс, если всё равно идёт последовательный перебор?). Исправил. Заодно вставил защиту от вылета при неверном вводе фамилии актёра.
Код:
Type Infor = Record Actor, Film:String; end; Const Ar:Array[1..5] of Infor=((Actor: 'Gabin'; Film:'Le Chat'), (Actor:'Schwarzenegger'; Film:'Terminator 2'), (Actor: 'Loren'; Film:'The Key'), (Actor: 'Delon'; Film:'Borsalino'), (Actor: 'Deneuve'; Film:'Le Choc')); Var f:File of Infor; i:Integer; S:String; Inf:Infor; Begin Assign(f,'D:\xxx'); Rewrite(f); for i:=1 to 5 do write(f,Ar[i]); Close(f); Write('Enter the actor: '); Readln(S); Reset(f); i:=-1; Repeat Inc(i); Seek(f,i); Read(f,Inf); Until (Inf.Actor=S) or (i=4); Close(f); If (i=4) and (Inf.Actor<>S) then Writeln('No such film!') else Writeln('Film: '+Inf.Film); Readln End. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|