компонентами текстового файла являются символ, образующие наборы строк. Организовать следующие процедуры работы с файлом: -добавление информации в фаил -просмотр всего файла -СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как реализовать это?} -очистка файла Действия выполняются в произвольном порядке, по выбору пользователя. помогите пожалуйста с рещение задачи (особено с 3 пунктом)! зарание большое спасибО!
volvo
16.05.2006 2:44
Послушай, Ostin !!!
Ты что, издеваешься? Сколько можно задавать вопросы, которые уже обсосаны просто ДО ПРЕДЕЛА на этом форуме? Ну КАКАЯ может быть сложность с добавлением информации в ТЕКСТОВЫЙ файл (Если ты, конечно, соизволил прочесть тему "FAQ: Файлы")? А если не соизволил - то подними глаза наверх, и прочти, НАКОНЕЦ, что написано в рамочке!
Что может быть непонятно в просмотре текстового же файла? Ты хотя бы пытался?
Что с сортировкой? Тема "FAQ: Методы сортировок" тебе что, недоступна? Или "не царское это дело"? Чего читать самому, когда тут могут все готовое выложить?
(только вот не надо говорить, что все, что в FAQ-е сортирует только Integer-ы, ладно? Меняешь тип и работаешь со строками...)
P.S.
Цитата
компонентами текстового файла являются символ, образующие наборы строк.
Это у тебя что, бред? Какие компоненты в текстовом файле? Это, позволь тебе заметить, НЕ типизированный файл, у которого могут быть какие-то компоненты. Текстовый файл он и есть текстовый, и не надо его мешать с File Of Char...
Ostin
16.05.2006 2:50
а дайте мне пожалуйста ссылку!) а то эти руки)))) замучили меня!))))
-СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как
читаешь все строки из файла в массив, соритруешь массив, перезаписвыаешь обратно в файл. попробуй действительно почитать FAQ и восопльзоваться поиском.
ps флуд удален.
Ostin
18.05.2006 22:51
uses crt; var f,f1:text; ch:char; st:array [1..15] of string; tr,kl:string; min,max,k,a,i,p,b:byte; {$i-}
procedure okno; begin textbackground(0); clrscr; textbackground(1); window(13,6,75,25); clrscr; end;
procedure save; begin write('vvedite imia faila:'); readln(asd); assign(f, asd); rewrite(f); if ioresult<>0 then write('fail ne naiden') else begin for p:=1 to i do begin writeln(f, st[p]); end; close(F); write('fail uspeshno sohranen'); end; readln; end;
procedure ydal; begin write('vvedite imia faila:'); readln(asd); write('udalit fail',asd,'? (Y)\N'); ch:=readkey; if (ch='y')or(ch='Y') then begin Assign(f, asd); reset (f); if ioresult<>0 then begin clrscr; write('fail ne naiden'); end else begin close(f); erase(f); clrscr;textcolor(15); write('fail udalen!!!'); end; end; readln; end;
procedure dobav; begin if i<=15 then begin okno; write('vvedite imia faila:'); readln(asd); textbackground(1); window(13,6,75,20); clrscr; i:=i+1; readln(st[i]); Assign(f, 'q'); append(f); if ioresult<>0 then begin okno; write('fail ne naiden'); end else begin writeln(f, st[i]); close(F); okno; write('fail uspeshno sohranen'); end; readln; end; end;
procedure open; begin okno; write('vvedite imia faila:'); readln(asd); assign(f, 'q'); reset(f); if ioresult<>0 then begin write('fail ne naiden'); end; textbackground(1); window(13,6,75,20); clrscr; for p:= 1 to i do begin readln(f,st[p]); writeln(st[p],' '); end; readln; close(f); end;
procedure as; begin okno; write('vvedite imia faila:'); readln(asd); assign(f, asd); append(f); assign(f1,'w' ); rewrite(f1); if ioresult<>0 then begin write('fail ne naiden'); end; textbackground(1); window(13,6,75,20); clrscr; writeln('stroka dlia ydalenia'); max:=i; readln(p); for i:=1 to max do begin if i<>p then writeln(f1,st[i]); end; close(f); close(f1); asd:='w'; assign(f,asd); reset(f); p:=max-1; for i:= 1 to p do begin readln(f,st[i]); writeln(st[i],' '); end; readln; close(f); end;
procedure stroka; begin okno; write('vvedite imia faila:'); readln(asd); assign(f, asd); reset(f); if ioresult<>0 then begin write('fail ne naiden'); end; for p:=1 to i do begin a:=length(st[p]); if p=1 then begin tr:=st[p]; kl:=st[p]; min:=a; max:=a; end; if a>=max then begin max:=a; tr:=st[p]; end; if a<=min then begin min:=a; kl:=st[p]; end; end; writeln('samaia dlinnaia stroka ',tr); writeln('samaia korotkaia stroka ',kl); readln; end;
begin okno; write('vvedite stroku '); i:=1; readln(st[i]); save; repeat okno; ch:=readkey; if ch=#49 then open; if ch=#50 then dobav; if ch=#51 then ydal; if ch=#52 then stroka; if ch=#53 then as; until ch=#27; end.
вот что вышло почти моими усилиями))) пот имено тот 3 пункт ну не как он не катит((((( помогите а я вот тут не много догнать в этом тектсте не могу где редактирование файла!? что-то не работает((( помогите пиз!
Ostin
18.05.2006 23:28
а еще не большой вопрос не в тему где можно найти список аски таблицы (коды клавиш) и еще нам препод рассказал история как при атестации института раз в 4 года при проверке астаточных знаний студент с 5 курса назвал таблица ASCII аск2 таблица
все нашол!)
СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ (помогите мне с этим пожалуйста, умоляю просто)
Ostin
21.05.2006 23:21
народ! ну пожалуйста помогите мне с этой сортировкой!!! пиззззззззззззззз!!!!!!!!!!!!!!!!!!!!!!!!!!!
Bokul
22.05.2006 9:13
Не флуди , этим ты ничего хорошого не добьёшься.
Цитата
СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как реализовать это?}
Читаешь файл в одномерный массив строк, сортируешь его любым методом сортировок FAQ , при етом надо использовать функцию сравнения строк, (она снизу ), и наконец, перезаписываешь файл и записываеш в него массив.
Функция возвращает 1 - если первая строка должна стоять перед второй. 2 - если строки одинаковые. 3 - если первая строка должна стоять после второй.
Код
function alp(s1,s2:string):byte; var i,size1,size2,t1,t2:byte; begin size1:=length(s1); size2:=length(s2); for i:=1 to size1 do begin t1:=ord(s1[i]); t2:=ord(s2[i]); if t1 <> t2 then if t1 < t2 then begin alp:=1; exit; end else begin alp:=3; exit; end; if (i=size2) and (i<>size1) then begin alp:=3; exit; end; end; alp:=2; end;
Nkt
19.12.2007 21:07
Помогите решить задачу на Паскале. Условие: в текстовом фале есть несколько строк подобн : ac11de ddf50f5 fd1d4g7
ответ должен быть записан в тот же файл в виде acde - 11 ddff - 55 fddg - 12; короче буквы сначало написать а потом сумму чисел встречающихся в строке.
Помогите решить plz
Lapp
20.12.2007 3:01
А с каких пор 1+1=11 ?
!
Тему закрываю - хватит задавать вопросы в чужие темы. Открывай свою.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.