компонентами текстового файла являются символ, образующие наборы строк. Организовать следующие процедуры работы с файлом: -добавление информации в фаил -просмотр всего файла -СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как реализовать это?} -очистка файла Действия выполняются в произвольном порядке, по выбору пользователя. помогите пожалуйста с рещение задачи (особено с 3 пунктом)! зарание большое спасибО!
volvo
15.05.2006 22:44
Послушай, Ostin !!!
Ты что, издеваешься? Сколько можно задавать вопросы, которые уже обсосаны просто ДО ПРЕДЕЛА на этом форуме? Ну КАКАЯ может быть сложность с добавлением информации в ТЕКСТОВЫЙ файл (Если ты, конечно, соизволил прочесть тему "FAQ: Файлы")? А если не соизволил - то подними глаза наверх, и прочти, НАКОНЕЦ, что написано в рамочке!
Что может быть непонятно в просмотре текстового же файла? Ты хотя бы пытался?
Что с сортировкой? Тема "FAQ: Методы сортировок" тебе что, недоступна? Или "не царское это дело"? Чего читать самому, когда тут могут все готовое выложить?
(только вот не надо говорить, что все, что в FAQ-е сортирует только Integer-ы, ладно? Меняешь тип и работаешь со строками...)
P.S.
Цитата
компонентами текстового файла являются символ, образующие наборы строк.
Это у тебя что, бред? Какие компоненты в текстовом файле? Это, позволь тебе заметить, НЕ типизированный файл, у которого могут быть какие-то компоненты. Текстовый файл он и есть текстовый, и не надо его мешать с File Of Char...
Ostin
15.05.2006 22:50
а дайте мне пожалуйста ссылку!) а то эти руки)))) замучили меня!))))
-СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как
читаешь все строки из файла в массив, соритруешь массив, перезаписвыаешь обратно в файл. попробуй действительно почитать FAQ и восопльзоваться поиском.
ps флуд удален.
Ostin
18.05.2006 18:51
uses crt;
var
f,f1:text;
ch:char;
st:array [1..15] ofstring;
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;
beginwrite('vvedite imia faila:');
readln(asd);
assign(f, asd);
rewrite(f);
if ioresult<>0thenwrite('fail ne naiden')
elsebeginfor p:=1to i dobegin
writeln(f, st[p]);
end;
close(F);
write('fail uspeshno sohranen');
end;
readln;
end;
procedure ydal;
beginwrite('vvedite imia faila:');
readln(asd);
write('udalit fail',asd,'? (Y)\N');
ch:=readkey;
if (ch='y')or(ch='Y') thenbegin
Assign(f, asd);
reset (f);
if ioresult<>0thenbegin
clrscr;
write('fail ne naiden');
endelsebegin close(f);
erase(f);
clrscr;textcolor(15);
write('fail udalen!!!');
end;
end;
readln;
end;
procedure dobav;
beginif i<=15thenbegin
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<>0thenbegin okno;
write('fail ne naiden');
endelsebegin
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<>0thenbeginwrite('fail ne naiden');
end;
textbackground(1);
window(13,6,75,20);
clrscr;
for p:= 1to i dobegin
readln(f,st[p]);
writeln(st[p],' ');
end;
readln;
close(f);
end;
procedureas;
begin
okno;
write('vvedite imia faila:');
readln(asd);
assign(f, asd);
append(f);
assign(f1,'w' );
rewrite(f1);
if ioresult<>0thenbeginwrite('fail ne naiden');
end;
textbackground(1);
window(13,6,75,20);
clrscr;
writeln('stroka dlia ydalenia');
max:=i;
readln(p);
for i:=1to max dobeginif i<>p then
writeln(f1,st[i]);
end;
close(f);
close(f1);
asd:='w';
assign(f,asd);
reset(f);
p:=max-1;
for i:= 1to p dobegin
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<>0thenbeginwrite('fail ne naiden');
end;
for p:=1to i dobegin
a:=length(st[p]);
if p=1thenbegin
tr:=st[p];
kl:=st[p];
min:=a;
max:=a;
end;
if a>=max thenbegin
max:=a;
tr:=st[p];
end;
if a<=min thenbegin
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=#49then
open;
if ch=#50then
dobav;
if ch=#51then
ydal;
if ch=#52then
stroka;
if ch=#53thenas;
until ch=#27;
end.
вот что вышло почти моими усилиями))) пот имено тот 3 пункт ну не как он не катит((((( помогите а я вот тут не много догнать в этом тектсте не могу где редактирование файла!? что-то не работает((( помогите пиз!
Ostin
18.05.2006 19:28
а еще не большой вопрос не в тему где можно найти список аски таблицы (коды клавиш) и еще нам препод рассказал история как при атестации института раз в 4 года при проверке астаточных знаний студент с 5 курса назвал таблица ASCII аск2 таблица
все нашол!)
СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ (помогите мне с этим пожалуйста, умоляю просто)
Ostin
21.05.2006 19:21
народ! ну пожалуйста помогите мне с этой сортировкой!!! пиззззззззззззззз!!!!!!!!!!!!!!!!!!!!!!!!!!!
Bokul
22.05.2006 5: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 17:07
Помогите решить задачу на Паскале. Условие: в текстовом фале есть несколько строк подобн : ac11de ddf50f5 fd1d4g7
ответ должен быть записан в тот же файл в виде acde - 11 ddff - 55 fddg - 12; короче буквы сначало написать а потом сумму чисел встречающихся в строке.
Помогите решить plz
Lapp
19.12.2007 23:01
А с каких пор 1+1=11 ?
!
Тему закрываю - хватит задавать вопросы в чужие темы. Открывай свою.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.