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

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

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

 
 Ответить  Открыть новую тему 
> Повторяющиеся символы
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

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

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


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


Пионер
**

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

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


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


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

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

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


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


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

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

 





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