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

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

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

> Использование множеств
xekzzz
сообщение 19.05.2008 12:42
Сообщение #1


__
*

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

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



Ужасно не могу решить такую лёгкую задачу (((
Помогите пожалуйста.

Даны 3 множества. Первое множество А заполнить символами латинского алфавита в интервале от a до g, второе множество В заполнить в интервале от c до m. Третье множество заполнить применив операцию пересечения двух множеств, т. е. A*B. Необходимо проверить в какое из множеств входит введенный с клавиатуры символ, а также узнать порядковый номер символа в таблице ASCII.


Теоретически понятно а вот с кодом что то туплю (((
Заполняем А
Заполняем B
Пересечение A*B
Проверяем символ, номер символа ASC II

Вот только могу символ вывести:

uses crt;
var n:integer;
x:char;
begin
clrscr;
writeln('Введите символ ->');
readln(x);
write(x);n:=ord(x); writeln('->',n);
readln(n);x:=chr(n);writeln('->',x);
end.

.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
compiler
сообщение 19.05.2008 13:33
Сообщение #2


Человек
*****

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

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


у меня получилось так:
type
TL = set of 'a'..'z';

var
A, B, C : Tl;
i : integer;
ch : char;
begin
A := [];
B := [];
for i := ord('a') to ord('g') do
A := A + [chr(i)];

for i := ord('c') to ord('m') do
B := B+[chr(i)];

C := A*B;
{ print }
for i :=ord('a') to ord('z') do
if chr(i) in A then write(chr(i):3);
writeln;
for i := ord('a') to ord('z') do
if chr(i) in B then write(chr(i):3);
writeln;
for i := ord('a') to ord('z') do
if chr(i) in C then write(chr(i):3);
writeln;
{ /print }

readln(ch);
if ch in C then writeln('ch in A, B, C') else
if ch in A then writeln('ch in A') else
if ch in B then writeln('ch in B') else
writeln('ch doesn''t found');
end.
разбирайся..
ps
print добавлено для наглядности..


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 20.06.2025 22:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"