Другие языки программирования и технологии

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

Мне нужно решить задачу в паскале, вот задание: Даны две строки. Выведите на экран все символы (без повторений), которые есть в первой или второй строке. Кто сможет помогите, за ранее благодарен!!!=)
Доброго времени суток.

Про множества слышали? Одной из их особенностей является то, что сколько в них не помещай одинаковых элементов, там будет только один. Отсюда и решение (М объявлено как множество символов) .

M := []; {пустое множество}
for i:=1 to Length(S1) do M := M + [S1[ i ]]; {символы 1 строки -> множество}
for i:=1 to Length(S2) do M := M + [S2[ i ]]; {символы 2 строки -> множество}

for ch:='a' to 'z' do if ch in M then WriteLn(ch:3); {вывод содержимого множества}

Будет работать для латинских символов нижнего регистра. Если надо как-то иначе, подправьте границы цикла вывода.

Вот и все.

Удачи!

2 Владислав Бирюков: В паскале символы строки индексируются с единицы.
Mansur Seilkhanov
Mansur Seilkhanov
59 613
Лучший ответ
for i:=0 to length(m1)-1 do
begin
bool:=false;

for j:=0 to length(m1)-1 do
if m1=m1[j] then
begin
bool:=true;
break;
end;

if bool then continue;

for j:=0 to length(m2)-1 do
if m1=m2[j] then
begin
bool:=true;
break;
end;

if bool then
continue
else
writeln(m1)
end;

for i:=0 to length(m2)-1 do
begin
bool:=false;

for j:=0 to length(m1)-1 do
if m2=m1[j] then
begin
bool:=true;
break;
end;

if bool then continue;

for j:=0 to length(m2)-1 do
if m2=m2[j] then
begin
bool:=true;
break;
end;

if bool then
continue
else
writeln(m2)
end;
Кроме шуток.. .
Задача проста как день...
Alexandr Butrov
Alexandr Butrov
2 958
Цикл, берешь первый символ и сравниваешь с другими в строках, если есть удаляешь из строк и записываешь в переменную и так пока строки не кончатся. В чем проблема? Нужна реализация? Может книжку почитать? Или в нете глянуть, готовых алгоритмов тонны.