IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
Closed Topic Открыть новую тему 
> Задача на ФАЙЛЫ, хелп ми)
Ostin
сообщение 15.05.2006 22:24
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Стас

Репутация: -  -1  +


компонентами текстового файла являются символ, образующие наборы строк.
Организовать следующие процедуры работы с файлом:
-добавление информации в фаил
-просмотр всего файла
-СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как реализовать это?}
-очистка файла
Действия выполняются в произвольном порядке, по выбору пользователя.

помогите пожалуйста с рещение задачи (особено с 3 пунктом)! зарание большое спасибО!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.05.2006 22:44
Сообщение #2


Гость






Послушай, Ostin !!!

Ты что, издеваешься? Сколько можно задавать вопросы, которые уже обсосаны просто ДО ПРЕДЕЛА на этом форуме? Ну КАКАЯ может быть сложность с добавлением информации в ТЕКСТОВЫЙ файл (Если ты, конечно, соизволил прочесть тему "FAQ: Файлы")? А если не соизволил - то подними глаза наверх, и прочти, НАКОНЕЦ, что написано в рамочке!

Что может быть непонятно в просмотре текстового же файла? Ты хотя бы пытался?

Что с сортировкой? Тема "FAQ: Методы сортировок" тебе что, недоступна? Или "не царское это дело"? Чего читать самому, когда тут могут все готовое выложить?

(только вот не надо говорить, что все, что в FAQ-е сортирует только Integer-ы, ладно? Меняешь тип и работаешь со строками...)

P.S.
Цитата
компонентами текстового файла являются символ, образующие наборы строк.
Это у тебя что, бред? Какие компоненты в текстовом файле? Это, позволь тебе заметить, НЕ типизированный файл, у которого могут быть какие-то компоненты. Текстовый файл он и есть текстовый, и не надо его мешать с File Of Char...
 К началу страницы 
+ Ответить 
Ostin
сообщение 15.05.2006 22:50
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Стас

Репутация: -  -1  +


а дайте мне пожалуйста ссылку!) а то эти руки)))) замучили меня!))))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Анна
сообщение 16.05.2006 12:23
Сообщение #4


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


FAQ: Файлы
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 17.05.2006 9:09
Сообщение #5


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
-СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как



читаешь все строки из файла в массив, соритруешь массив, перезаписвыаешь обратно в файл.
попробуй действительно почитать FAQ и восопльзоваться поиском.

ps флуд удален.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ostin
сообщение 18.05.2006 18:51
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Стас

Репутация: -  -1  +


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 пункт ну не как он не катит((((( помогите а я вот тут не много догнать в этом тектсте не могу где редактирование файла!? что-то не работает((( помогите пиз!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ostin
сообщение 18.05.2006 19:28
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Стас

Репутация: -  -1  +


а еще не большой вопрос не в тему где можно найти список аски таблицы (коды клавиш) и еще нам препод рассказал история как при атестации института раз в 4 года при проверке астаточных знаний студент с 5 курса назвал таблица ASCII аск2 таблица



все нашол!) smile.gif

СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ (помогите мне с этим пожалуйста, умоляю просто)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ostin
сообщение 21.05.2006 19:21
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Стас

Репутация: -  -1  +


народ! ну пожалуйста помогите мне с этой сортировкой!!! пиззззззззззззззз!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 22.05.2006 5:13
Сообщение #9


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Не флуди mad.gif , этим ты ничего хорошого не добьёшься. no1.gif

Цитата
СОРТИРОВКА СТРОК ФАЙЛА В АЛФАВИТНОМ ПОРЯДКЕ {самое важно и на мой взгляд сложно, как реализовать это?}


Читаешь файл в одномерный массив строк, сортируешь его любым методом сортировок FAQ , при етом надо использовать функцию сравнения строк,
(она снизу wink.gif ), и наконец, перезаписываешь файл и записываеш в него массив. wink.gif yes2.gif


Функция возвращает
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;



Сообщение отредактировано: Bokul - 22.05.2006 7:18


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Nkt
сообщение 19.12.2007 17:07
Сообщение #10


Гость






Помогите решить задачу на Паскале. Условие: в текстовом фале есть несколько строк подобн
:
ac11de
ddf50f5
fd1d4g7


ответ должен быть записан в тот же файл в виде acde - 11
ddff - 55
fddg - 12;
короче буквы сначало написать а потом сумму чисел встречающихся в строке.


Помогите решить plz
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2007 23:01
Сообщение #11


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


А с каких пор 1+1=11 ? smile.gif

 ! 
Тему закрываю - хватит задавать вопросы в чужие темы. Открывай свою.



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 6:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"