Задача - Удаление из строки повторяющихся символов - программирование на разных языках

Задача — Удаление из строки повторяющихся символов — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Удаление из строки повторяющихся символов
— программирование на Pascal, Си, Кумир, Basic-256, Python

Вводится строка. Требуется удалить из нее повторяющиеся символы и все пробелы. Например, если было введено «abc cde def», то должно быть выведено «abcdef».

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

Извлекать каждый символ введенной строки. Если он не встречается в новой строке и не является пробелом, то добавлять его в конец новой строки.

Pascal

var
s1,s2: string;
c: char;
i: byte;
begin
readln(s1);
s2 := »;
for i:=1 to length(s1) do begin
c := s1[i];
if (pos(c,s2) = 0) and (c <> ‘ ‘) then
s2 := s2 + c
end;
writeln(s2);
end. abc cde def
abcdef

Язык Си

#include <string.h>
main() {
char s[100], s_new[100];
char c, i, j;
gets(s);
j = 0;
for (i=0; i<strlen(s); i++) {
c = s[i];
if (strchr(s_new,c) == NULL && c != ‘ ‘) {
s_new[j] = c;
j += 1;
}
}
s_new[j] = »;
puts(s_new);
} cpu gpu mb cooler
cpugmboler

Python

s = input()
s_new = »
for i in range(len(s)):
if s_new.find(s[i]) == -1 and s[i] != ‘ ‘:
s_new += s[i] print(s_new) a a b d c a c k l c d f
abdcklf

Basic-256

input s$
s_new$ = mid(s$,1,1)
for i=2 to length(s$)
a$ = mid(s$,i,1)
if instr(s_new$,a$) = 0 and a$ <> » » then
s_new$ = s_new$ + a$
endif
next i
print s_new$

Если изначально s_new$ присвоить пустую строку, то вызов функции instr() вызывает ошибку.

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий