Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задачи по файлам

Автор: -Денис- 4.01.2006 23:00

Помогите решить три несложных задачи.
1. Переписать компоненты символьного файла f в файл g,удалив при этом символы,встречающиеся в
файле всего один раз.
2.В файле содержатся сведения об игрушках:название игрушки и цена.Напечатать сведения об игр
ушках,цена которых выше средней.
3.Дан текстовый файл f.Поменять местами самую короткую и самую длинную строки текста(при услов
ии,что он единственный),результат занести в файл g.

Автор: volvo 4.01.2006 23:44

Что именно не получается? Поиск тоже ничего не выдает? Или просто ЛЕНЬ им воспользоваться, и будем ждать, когда все выложат "на блюдечке"?

Автор: Гость 7.01.2006 0:50

Цитата(volvo @ 4.01.2006 19:44) *

Что именно не получается? Поиск тоже ничего не выдает? Или просто ЛЕНЬ им воспользоваться, и будем ждать, когда все выложат "на блюдечке"?



Я ничего подобного в поиске не нашел.

Автор: -Денис- 7.01.2006 16:57

Я в поск заходил.Я вроде умею им пользоваться, но не нашел ничего что могло бы мне пригодиться.
Помогите с этими задачами или подскажите в чем-нибудь.Пожалуйста!!!!!

Автор: klem4 7.01.2006 18:31

Цитата
но не нашел ничего что могло бы мне пригодиться.


http://forum.pascal.net.ru/index.php?showtopic=3584
http://forum.pascal.net.ru/index.php?showtopic=2361

Выкладывй что получится исправвим ошибки

Автор: -Денис- 7.01.2006 22:03

В файлах я не далек.Объясни пожалуйста как удалить символы,встречающиеся в
файле всего один раз.Т.е те символы которые повторяются один и более раз-не удалять.

Автор: -Денис- 9.01.2006 15:40

Я непонимаю как узнать что в файле символ встречается только один раз, а затем удалить его.
ПОМОГИТЕ.

Автор: hardcase 9.01.2006 19:05

Если символ - это обычный char, то можно поступить так: копировать файло в 2 прохода.

За первый проход собраем инфу о том, что у нас в файле имеется:
- считаем количество вхождений каждого символа


var Chars: array[Char] of longint;

//считаем кол-во вхождений
while not eof(F) do begin
Read(F,Cur);
inc( Chars[Cur] );
end;



за второй проход сливаем все символы, которые у нас имеют количество вхождений, отличое от единицы, в наше результирующее файло.


//пишем результат
Reset(F);
while not eof(F) do begin
Read(F,Cur);
if Chars[Cur] > 1 then Write(ResultFile,Cur);
end;