0 / 0 / 0
Регистрация: 27.01.2009
Сообщений: 3
1

Из множества символов первой строки удалить символы содержащиеся во второй строке

27.01.2009, 14:10. Показов 3627. Ответов 3
Метки нет (Все метки)

Народ, помогите пожалуйста

С помощью одной/двух из этих процедур:

-ввода с клавиатуры числового множества
-ввода с клавиатуры числового массива
-вывода числового множества на экран
-вывода числового массива на экран
-вычисления количества элементов множества символов
-вычисления количества элементов числового множества
-ввода с клавиатуры множества символов
-вывода множества символов на экран
-вывода массива символов на экран
-перевода числового массива в числовое множество из тех же элементов

Выполнить задание:

1. Даны две строки. Из множества символов первой строки удалить символы содержащиеся во второй строке.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2009, 14:10
Ответы с готовыми решениями:

Удалить из первой строки символы, не принадлежащие второй строке
Нужна помощь. Составить программу, в результате выполнения которой из первой заданной строки...

Удалить из первой строки символы, которые содержатся во второй
Заданы две строки S1 и S2 . Удалить из строки S1 символы, содержащиеся в строке S2 .

Удалить из первой строки все слова, которые попадаются во второй строке
Ввести 2 строки, удалить из 1 строки все слова, которые попадаются в 2 строке. Срочно нужна...

Даны две строки.Выведите на экран все символы которые присутствуют как в первой так и во второй строке
Даны две строки.Выведите на экран все символы которые присутствуют как в первой так и во второй...

3
Почетный модератор
64257 / 47557 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
27.01.2009, 18:13 2
Не знаю точно ли соответствуют мои процедуры списку, но без них никак и все работает.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
type Tmn=set of char;{тип множество символов}
procedure Create(a:string; var b:Tmn);{процедура создания множества}
var i:byte;
begin
b:=[];{сначала множество пустое}
for i:=1 to length(a) do{идем по строке}
if not (a[i] in b) then b:=b+[a[i]];{если символа нет в множестве, добавляем}
end;
procedure Print(var b:Tmn);{процедура вывода множества на экран}
var i:byte;
begin
for i:=1 to 255 do {проверяем все коды символов}
if chr(i) in b then {если символ с таким кодом есть в множестве}
write(chr(i),' '); {выводим}
writeln;
end;
var s1,s2:string;
m1,m2:Tmn;
i:integer;
begin
clrscr;
write('s1: ');readln(s1);
write('s2: ');readln(s2);
Create(s1,m1); {создаем множество}
writeln('Mnozestvo 1:');
Print(m1);{выводим на экран}
Create(s2,m2);
writeln('Mnozestvo 2:');
Print(m2);
writeln('Mnozestvo 1-2:');
m1:=m1-m2; {вычитаем из 1го множества 2е}
Print(m1); {то что осталось, выводим}
readln
end.
Добавлено через 1 минуту 47 секунд
Достали меня эти тэги. Какая-то ерунда получается.
Код
[SIZE=2]
type Tmn=set of char;[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]тип множество символов[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]procedure Create(a:string; var b:Tmn);[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]процедура создания множества[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]var i:byte;
begin
b:=[];[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]сначала множество пустое[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]for i:=1 to length(a) do[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]идем по строке[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]if not (a[i] in b) then b:=b+[a[i]];[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]если символа нет в множестве, добавляем[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]end;
procedure Print(var b:Tmn);[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]процедура вывода множества на экран[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]var i:byte;
begin
for i:=1 to 255 do[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] {[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]проверяем все коды символов[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]if chr(i) in b then[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] {[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]если символ с таким кодом есть в множестве[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]write(chr(i),' ');[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] {[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]выводим[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]writeln;
end;
var s1,s2:string;
m1,m2:Tmn;
i:integer;
begin
clrscr;
write('s1: ');readln(s1);
write('s2: ');readln(s2);
Create(s1,m1); [/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]создаем множество[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]writeln('Mnozestvo 1:');
Print(m1);[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]{[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]выводим на экран[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]Create(s2,m2);
writeln('Mnozestvo 2:');
Print(m2);
writeln('Mnozestvo 1-2:');
m1:=m1-m2;[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] {[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]вычитаем из 1го множества 2е[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]Print(m1);[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] {[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]то что осталось, выводим[/SIZE][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
[/SIZE][/FONT][/SIZE][/FONT][SIZE=2]readln
end.
[/SIZE]
1
0 / 0 / 0
Регистрация: 27.01.2009
Сообщений: 3
27.01.2009, 18:33  [ТС] 3
Спасибо за помощь

Добавлено через 7 минут 31 секунду
А можно сделать чтобы оставался в итоге только кусок слова?
Например: строка 1 - topik
строка 2 - pik
итог - to

а то получается: "o t"
0
Почетный модератор
64257 / 47557 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
27.01.2009, 18:36 4
С множествами вроде нет, так как элементы множества выводятся по возрастанию кода, т.е. для букв одного алфавита и одного регистра по алфавиту. Множество-это не строка, где как напишешь, так и будет. То, что Вы хотите, это со строками надо делать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2009, 18:36
Помогаю со студенческими работами здесь

Удалить из предложения все символы, расположенные между первой и второй запятыми
1. Удалить из предложения все символы МЕЖДУ первой и второй запятыми. 2. Дано предложение, удалить...

Определить местоположение символа первой строки, который первым совпал с одним из символов второй строки.
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой...

Удалить из первой строки символы, которые встречаются во второй строке
Помогите, пожалуйста, составить программу: Удалить из первой строки символы, которые встречаются...

Используя множество символов первой строки, удалить все вхождения этих символов из второй строки
Реализовать вариант задачи, используя множества, двумя способами: в виде процедуры и с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru