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

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

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

 
 Ответить  Открыть новую тему 
> Переделка, файловый тип
сообщение
Сообщение #1


Гость






Помогите пожалуйста......

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

program lab5
uses crt, printer
var
s: string;
tx: string;
i: integer;
txt: string;
k: boolean;
begin
clrscr;
writeln;
repeat
writeln;
readln(s);
if length(s)=0 then
begin
writeln('’ҐЄбв ­Ґ ўўҐ¤Ґ­, Ї®ўв®аЁвҐ ўў®¤');continue;
end
else
tx:='';
txt:='';

for i:=1 to length(s) do
begin
if pos(s[i], txt)=0 then
begin
tx:=tx+s[i];
txt:=txt+s[i];
end
else if pos(s[i], tx)>0 then begin
delete(tx, pos(s[i], tx), 1);
end;
end;
writeln('?б室­л© ⥪бв:');
writeln(s);
writeln;
if length(tx)=0 then
writeln('ЌҐв бЁ¬ў®«®ў, ўбваҐз ойЁебп ®¤Ё­ а §')
else
begin
writeln('‘Ё¬ў®«л, ўбваҐз ойЁҐбп ®¤Ё­ а §:');
for i:=1 to length(tx) do
write(tx[i],' ');
end;
writeln('¤«п ўл室  Ё§ жЁЄ«  ­ ¦¬ЁвҐ ESC, ¤«п Їа®¤®«¦Ґ­Ёп - «оЎго Є« ўЁиг.');
until readkey=#27;
end.


Сейчас нужно переделать программу.... условие то же ....
но текст находится в типизированном файле.....
Незнаю что делать....

program lab5;
uses crt;
var
s: file of string;
tx: string;
i: integer;
txt: string;
k: boolean;
begin
assign(s,'z:\13.txt');
reset(s);
clrscr;
writeln('‡¤а ўбвўг©вҐ! ќв® Їа®Ја ¬¬ , ўлў®¤  бЁ¬ў®«®ў, ўбваҐз ойЁебп ў ⥪б⥠®¤­®Єа в­®.');
repeat
tx:='';
txt:='';

while not eof(s) do
begin
if pos(s,txt)=0 then
begin
tx:=tx+s;
txt:=txt+s;
end
else if pos(s,tx)>0 then begin
delete(tx, pos(s, tx), 1);
end;
end;
writeln('?б室­л© ⥪бв:');
writeln(s);
writeln;
if length(tx)=0 then
writeln
else
begin
writeln('‘Ё¬ў®«л, ўбваҐз ойЁҐбп ®¤Ё­ а §:');
for i:=1 to length(tx) do
write(tx[i],' ');
end;
writeln;
writeln('¤«п ўл室  Ё§ жЁЄ«  ­ ¦¬ЁвҐ ESC, ¤«п Їа®¤®«¦Ґ­Ёп - «оЎго Є« ўЁиг.');
until readkey=#27;
end.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


///
**

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

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


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



....и кстати файл после использования закрывают

Сообщение отредактировано: Zzzz... -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(Zzzz... @ 24.03.2008 17:18) *

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


Да я в курсе что закрывают...это очень сырой вариант.....
Текст в принципе любой...минимум 5 строк
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


///
**

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

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


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


Гость






Цитата(Zzzz... @ 24.03.2008 17:42) *

тогда за место строки делаем массив типа чар



Ага.....мысль дельная
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата(Гость @ 24.03.2008 19:43) *

Ага.....мысль дельная


А вот что с основным телом делать??? всмысле конструкцию с pos....
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 6.03.2021 9:39
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name