ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
[Pascal] РАБОТА С МНОЖЕСТВЕННЫМИ ТИПАМИ ДАННЫХ |

25.03.2010, 12:26
|
|
Новичок
Регистрация: 10.01.2007
Сообщений: 21
Провел на форуме: 175230
Репутация:
15
|
|
[Pascal] РАБОТА С МНОЖЕСТВЕННЫМИ ТИПАМИ ДАННЫХ
Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности: знаки препинания и операций отношения.
Код:
program hw5 ;
uses crt;
var
cur_symb,symb_of_end,j,y : char;
mn : set of char=['!'..'.'];
v_mnoj : set of char=['!'..'.'];
BEGIN
clrscr;
cur_symb:='!';
symb_of_end:='.';
mn:=[];
writeln('Введите символ указывающий на конец строки.');
readln(symb_of_end);
v_mnoj:=['!'..'.'];
writeln('Введите множество символов.');
while cur_symb<>symb_of_end do begin
read(cur_symb);
if cur_symb in v_mnoj then mn:=mn+[cur_symb];
end;
writeln('В множестве содержатся:');
writeln('знаки препинания:');
for j:='!' to '.' do
if j in mn then writeln(j);
END.
не работает( не подскажите в чем ошибка?
|
|
|

25.03.2010, 17:10
|
|
Познающий
Регистрация: 17.02.2010
Сообщений: 45
Провел на форуме: 195184
Репутация:
47
|
|
Вот исправленная и подправленная версия, думаю поймете что к чему
PHP код:
var
cur_symb, symb_of_end, y, j: char;
mn, v_mnoj, v_mnoj2: set of char;
begin
v_mnoj:=['!'..'.'];
v_mnoj2:=[':'..'?'];
cur_symb:=' ';
mn:=[];
{writeln('Введите символ указывающий на конецстроки.');}
readln(symb_of_end);
{writeln('Введите множество символов.');}
while cur_symb <> symb_of_end do
begin
read(cur_symb);
if (cur_symb in v_mnoj) or (cur_symb in v_mnoj2) then mn:=mn+[cur_symb]
end;
{writeln('В множестве содержатся:');
writeln('знаки препинания:');}
for j:='!' to '.' do
if j in mn then write(j,' ');
for j:=':' to '?' do
if j in mn then write(j,' ');
readln;
readln;
end.
P.S. Добавил еще символы '!' '<' '>' '?' ':' ';'
Последний раз редактировалось Soherox; 25.03.2010 в 17:16..
|
|
|

25.03.2010, 19:48
|
|
Новичок
Регистрация: 10.01.2007
Сообщений: 21
Провел на форуме: 175230
Репутация:
15
|
|
ооо точно) сенк большое) + =)
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|