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

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

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

> Повторяющиеся символы
Sir
сообщение 2.12.2003 13:22
Сообщение #1


Пионер
**

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

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


Условие задачи:
В файле - строка (не более 255 символов) , удаляем из неё повторяющиеся символы ,
оставляя символы в том порядке ,в каком они были , пишем полученную
строку в выходной файл.

Пример строки во входном файле:
qqwe12Q21145weW

Пример выходного файла:
qwe12Q45W

Помогите найти ошибку , в выходном файле выдаётся какая-то дребедень

Код
var inp,outp:text;
   tmp,st:string;
   i,k:byte;
function search(st:string;ch:char):boolean;
var
cnt:byte;
begin
for k:=1 to length(tmp) do
if tmp[k]=ch then cnt:=cnt+1;
if cnt<>0 then search:=true;
end;
function makestr:string;
begin
for i:=1 to length(st) do
if search(tmp,st[i])=false then tmp:=tmp+st[i];
end;
begin
    assign(inp,'input.txt');
    reset(inp);
    assign(outp,'output.txt');
    rewrite(outp);
    readln(inp,st);
    tmp:='';
    st:=makestr;
    writeln(outp,st);
    close(outp);
    close(inp);
end.


Сообщение отредактировано: volvo - 17.12.2004 17:00
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
Sir
сообщение 3.12.2003 12:15
Сообщение #2


Пионер
**

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

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


Решил , не знаю , чего я так тупил ???

Код
var inp,outp:text;
   tmp,st:string;
   i:byte;
begin
    assign(inp,'input.txt');
    reset(inp);
    readln(inp,st);
    assign(outp,'output.txt');
    rewrite(outp);
    for i:=1 to length(st) do
    if pos(st[i],tmp)=0 then tmp:=tmp+st[i];
    write(outp,tmp);
    close(outp);
    close(inp);
end.


Сообщение отредактировано: volvo - 17.12.2004 17:02
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GLuk
сообщение 3.12.2003 17:45
Сообщение #3


Профи
****

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

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


Поди в соурсах ответов надавали... ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Sir
сообщение 4.12.2003 16:45
Сообщение #4


Пионер
**

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

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


Не-а , я тама не спрашивал ;D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 4.12.2003 17:12
Сообщение #5


Четыре квадратика
****

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

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


а http://forum.sources.ru/index.php?showtopic=39548 не твое?


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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