Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
51 / 49 / 17
Регистрация: 30.10.2009
Сообщений: 152

Работа с множествами

31.10.2009, 14:16. Показов 1350. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята не могу сообразить что не так.
Задача: Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого множества равна 10. Сформировать новое множество Y в соответствии с выбранным вариантом задания. На экран вывести исходные множества, а также полученное множество. Значения элементов исходных множеств ввести с клавиатуры. Моя версия
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Program MN_Y;
  Uses Crt;     {}
 {Описания}
  Type
    X= set of 1..100;
  Var
    X1:X;
    X2:X;
    X3:X;
    Y:X;
    i,n1: byte;
{Вычисления}
  Procedure Enter (N:X);
    Begin
     N:=[];
     i:=1;
     Repeat
     Read (n1);
     N:= N+[n1];
     i:=i+1;
     Until i>10;
    End;
  Procedure Print (N:X);
     Begin
     Write('[');
     for n1:=1 to 100 do
     if n1 in N then  Write (n1:3);
     Writeln(' ]');
     End;
  Begin       
    X1:=[];
    X2:=[];
    X3:=[];
    Y:=[];
    Writeln('Введите элементы множества X1');
    Enter (X1);
    Writeln('Введите элементы множества X2');
    Enter (X2);
    Writeln('Введите элементы множества X3');
    Enter (X3);
    Y:=(X1 * X2)-(X1 * X3);
    Writeln('Множество X1');
    Print (X1);
    Writeln('Множество X2');
    Print (X2);
    Writeln('Множество X3');
    Print (X3);
    Writeln('Множество Y');
    Print (Y);
    Writeln;
  End.
выводит на экран пустые множества. Подскажите что не так. Ещё почему после ввода множеств работа сразу завершается не выводя ответ.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2009, 14:16
Ответы с готовыми решениями:

Работа с множествами
На предприятии имеется 6 цехов (переменная Ceh), которые потребляют определенный ассортимент (переменная Asortyment) режущего инструмента....

Работа со множествами
Вводится непустая строка из строчных русских букв, заканчивающаяся точкой. Отдельные слова в ней разделены запятыми (<= 70 символов)....

Работа со строками и множествами.
Здравствуйте.Прошу помощи в решении такой сложной задачки. Введите с клавиатуры предложение в переменную типа строка символов...

4
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.10.2009, 14:55
Цитата Сообщение от alex0983 Посмотреть сообщение
в соответствии с выбранным вариантом задания.
Ну и какое задание?

Добавлено через 3 минуты
В обеих процедурах напишите var
Pascal
1
Procedure Enter (var N:X);
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
31.10.2009, 15:05
Цитата Сообщение от Puporev Посмотреть сообщение
Ну и какое задание?
как я понял им раздали варианты и ему досталось это: Y:=(X1 * X2)-(X1 * X3);
Цитата Сообщение от Puporev Посмотреть сообщение
В обеих процедурах напишите var
а зачем во второй(Print) там множество N не изменяется...
0
51 / 49 / 17
Регистрация: 30.10.2009
Сообщений: 152
31.10.2009, 15:07  [ТС]
Заработало, но почему программа сразу закрывается не выводя ответ
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.10.2009, 15:12
Вот подремонтировал.
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
35
36
37
38
39
40
41
42
43
44
45
Program MN_Y;
Uses Crt;     {}
{Описания}
Type  X= set of 1..100;
{Вычисления}
Procedure Enter (var N:X);
var n1,i:byte;
Begin
N:=[];
for i:=1 to 10 do
 begin
  Readln(n1);
  N:= N+[n1];
 end;
End;
Procedure Print (var N:X);
var n1:byte;
Begin
Write('[');
for n1:=1 to 100 do
if n1 in N then  Write (n1:3);
Writeln(' ]');
end;
Var X1,X2,X3,Y:X;
    i: byte;
Begin
clrscr;
Writeln('Введите элементы множества X1');
Enter (X1);
Writeln('Введите элементы множества X2');
Enter (X2);
Writeln('Введите элементы множества X3');
Enter (X3);
clrscr;
Y:=(X1 * X2)-(X1 * X3);
Writeln('Множество X1');
Print (X1);
Writeln('Множество X2');
Print (X2);
Writeln('Множество X3');
Print (X3);
Writeln('Множество Y');
Print (Y);
readln
End.
Добавлено через 2 минуты
Цитата Сообщение от Inadequate Посмотреть сообщение
а зачем во второй(Print) там множество N не изменяется.
Попробуй убрать. Скорее всего пустой экран получишь. Процедура возвращает в программу значения, а если var не написать, то она ничего не возвратит, множества так и останутся как входные параметры в памяти.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2009, 15:12
Помогаю со студенческими работами здесь

множествами.
Не могу разобраться. Дана последовательность символов. Напечатать все буквы, входящие в текст по одному разу. Программу написала, но...

Операции с множествами
Докончите пожалуйста задачучерез тип множеств set , чтобы были оперции объединения (*) , разность (-) , пересечения (+). type Culoare =...

Операции над множествами
Выполнить операции над заданными множествами (A Δ B) ∩ C, где A Δ B = (A U B) \ (A ∩ B) = (A \ B) U (B \ A) реализуя множества ...

Операции над множествами
Даны три множества X1, X2, X3, содержащие целые числа из диапазона 100...200. Известно, что мощность каждого из этих множеств равна 10....

Приукрасить программу по работе с множествами
Написал программу для работы с множествами. Хотелось бы немного приукрасить ее, при этом научиться чему-то новому. Я хотел бы, чтобы в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru