Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 05.10.2013
Сообщений: 91

Задать множества А, В, С, состоящие из натуральных чисел из диапазона от 1 до 40

14.09.2014, 22:15. Показов 2073. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: Задано универсальное множество X = {1, 2, 3, ..., 40}. Необходимо задать множества А, В, С https://www.cyberforum.ru/cgi-bin/latex.cgi?\subset Х, т.е. множества, состоящие из натуральных чисел из диапазона от 1 до 40, причем | A | = | B | = | C | = 20. Задаются множества путем генерации элементов этих множеств с помощью генератора случайных величин на языке программирования, предложенной преподавателем.

Что нужно сделать: https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A}\bigcap (B\bigcup C)

все действия сделаны, но вот последнее вычисление, которое вывод полностью выполненное задание не хочет работать.
вот код:

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Program Lab1;
 
uses crt;
label 1,2,3;
var n,i,k,j,f,count,m,p:integer;
x: array [0..40] of integer;
a: array [0..20] of integer;
b: array [0..20]of integer;
c: array [0..20]of integer;
h: array [0..40]of integer;
g: array of integer;
bc: array [0..40] of integer;
begin
clrscr;
m:=40;
setlength(g,m);
n:=1;
Write('X=');
for i:=1 to 40 do
begin
x[i]:=n;
n:=n+1;
write(' ',x[i]);
end;
writeln;
randomize;
writeln(' ');
write('A=');
for i:=1 to 20 do
begin
1: a[i]:=random(39);
 
for k:= 1 to (i-1) do
if a[k] = a[i] then goto 1;
write(' ',a[i]);
end;
i:=i+1;
writeln;
writeln(' ');
write('B=');
for i:=1 to 20 do
 
begin
2: b[i]:=random(39);
 
for k:= 1 to (i-1) do
if b[k] = b[i] then goto 2;
write(' ',b[i]);
end;
i:=i+1;
writeln;
writeln(' ');
write('C=');
for i:=1 to 20 do
begin
3: c[i]:=random(39);
 
for k:= 1 to (i-1) do
if c[k] = c[i] then goto 3;
write(' ',c[i]);
end;
i:=i+1;
writeln;
writeln(' ');
 
write('BC=');
  for i:=1 to 20 do
   begin
    bc[2*i-1]:=b[i];
    bc[2*i]:=c[i];
    end;
    for i:=1 to 40 do
    write(bc[i],' ');
    writeln;
    writeln(' ');
   
write('A1=');
for i:=1 to 40 do
 begin
 f:=0;
 for j:=1 to 20 do
 if x[i]=a[j] then f:=1;
 if f=0 then
 write(x[i],' ');
 end;
 for i:=1 to 20 do
 h[i]:=x[i];
 writeln;
 writeln(' ');
 
 write('A1BC=');
  count:=0;
  for i:=1 to 40 do
  for j:=1 to 40 do
  begin
  if h[i]=bc[j] then
  begin
  g[count]:=h[i];
  write(g[count], ' ');
  count:=count+1;
  if count>=m then
   begin
   setLength(g,count+10);
   m:=count+20;
   write(' ');
  end;
 end;
 end;
 end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.09.2014, 22:15
Ответы с готовыми решениями:

Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1.100. Из данных множеств выделить соответственно под-множества М1 чисел
Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1..100. Из данных множеств выделить соответственно под-множества М1...

Re: Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1.100. Из данных множеств выделить соот
Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1 ... 100. Из данных множеств выделить соответственно подмножества M1...

Сгенерировать списки-палиндромы, состоящие из чисел из заданного диапазона
Кто-нибудь знает как сгенерировать списки-палиндромы, состоящие из чисел из заданного диапазона?

5
 Аватар для aburedeb
13 / 13 / 12
Регистрация: 09.09.2014
Сообщений: 29
14.09.2014, 23:39
Ну во первых метки не надо их использовать.
Во вторых у тебя ворох ошибок в коде.
В третьих я не понял что делает унарная операция с множеством A.Поэтому закоментил.

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Program Lab1;
uses crt;
//i,j,k циклическая переменная
//flag флаг
//count счетчик массива
var i,k,j,count:integer;
a: array [1..20] of integer;
b: array [1..20] of integer;
c: array [1..20] of integer;
//h: array [1..40] of integer;
g: array [1..40] of integer;
bc: array [1..40] of integer;
flag:boolean;
begin
clrscr;
//Заполняем массив A
randomize;
writeln(' ');
write('A=');
for i:=1 to 20 do
 begin
  a[i]:=random(39)+1;
  write(' ',a[i]);
 end;
//Заполняем массив Б
writeln(' ');
write('Б=');
for i:=1 to 20 do
 begin
  b[i]:=random(39)+1;
  write(' ',b[i]);
 end;
writeln(' ');
//Заполняем массив C
writeln(' ');
write('C=');
for i:=1 to 20 do
 begin
  c[i]:=random(39)+1;
  write(' ',c[i]);
 end; 
writeln(' ');
write('BC=');
  for i:=1 to 20 do
   begin
    bc[2*i-1]:=b[i];
    bc[2*i]:=c[i];
   end;
    for i:=1 to 40 do
     write(bc[i],' ');
writeln(' ');
writeln();
write('A1=');
write('Что делает эта унарная операция с множеством?');
//for i:=1 to 40 do
// begin
// f:=0;
// for j:=1 to 20 do
// if x[i]=a[j] then f:=1;
// if f=0 then
//   begin
// write(x[i],' ');
// end;
// for i:=1 to 20 do
// h[i]:=x[i];
// writeln;
// writeln(' ');
 
 write('A1BC=');
  count:=0;
  for i:=0 to 20 do
   for j:=0 to 40 do
    begin
     if a[i]=bc[j] then
      begin
        flag:=true;
       for k:=0 to count do
          if bc[j]=g[k] then flag:=false;
       if flag then  
        begin
         g[count]:=a[i];
         write(g[count],' ');
         count:=count+1;
        end;
      end;
    end;
 end.
0
2 / 2 / 0
Регистрация: 05.10.2013
Сообщений: 91
15.09.2014, 00:38  [ТС]
aburedeb, это дополнение множества.
Дополнением https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{A} множества А есть множество, которое дополняет его до универсального множества Х. Проще говоря, нужно, чтобы в A1 выводились значения которые есть в Х, но нету в A.
0
 Аватар для aburedeb
13 / 13 / 12
Регистрация: 09.09.2014
Сообщений: 29
15.09.2014, 01:13
Лучший ответ Сообщение было отмечено Sting95 как решение

Решение

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Program Lab1;
uses crt;
//i,j,k циклическая переменная
//f флаг
//count счетчик массива
var i,k,j,f,count,count1:integer;
a: array [1..20] of integer;
b: array [1..20] of integer;
c: array [1..20] of integer;
h: array [1..40] of integer;
g: array [1..40] of integer;
bc: array [1..40] of integer;
flag:boolean;
begin
clrscr;
//Заполняем массив A
randomize;
writeln(' ');
write('A=');
for i:=1 to 20 do
 begin
  a[i]:=random(39)+1;
  write(' ',a[i]);
 end;
//Заполняем массив Б
writeln(' ');
write('Б=');
for i:=1 to 20 do
 begin
  b[i]:=random(39)+1;
  write(' ',b[i]);
 end;
writeln(' ');
//Заполняем массив C
writeln(' ');
write('C=');
for i:=1 to 20 do
 begin
  c[i]:=random(39)+1;
  write(' ',c[i]);
 end; 
writeln(' ');
write('BC=');
  for i:=1 to 20 do
   begin
    bc[2*i-1]:=b[i];
    bc[2*i]:=c[i];
   end;
    for i:=1 to 40 do
     write(bc[i],' ');
writeln(' ');
writeln();
write('A1=');
count1:=1;
for i:=1 to 40 do
 begin
flag:=true;
 for j:=1 to 20 do
 if i=a[j] then flag:=false;
 if flag then
   begin
    h[count1]:=i;
    write(h[count1],' ');
    count1:=count1+1;
   end; 
 end;
 writeln(' ');
 
 write('A1BC=');
  count:=1;
  for i:=1 to count1 do
   for j:=1 to 40 do
    begin
     if h[i]=bc[j] then
      begin
        flag:=true;
       for k:=1 to count do
          if bc[j]=g[k] then flag:=false;
       if flag then  
        begin
         g[count]:=h[i];
         write(g[count],' ');
         count:=count+1;
        end;
      end;
    end;
 end.
1
2 / 2 / 0
Регистрация: 05.10.2013
Сообщений: 91
15.09.2014, 02:15  [ТС]
aburedeb, Спасибо большое!
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32744
Регистрация: 18.05.2008
Сообщений: 115,168
15.09.2014, 09:43
Лучший ответ Сообщение было отмечено Sting95 как решение

Решение

Вообще-то в данном случае множества должны иметь типa
Pascal
1
var a,b,c:set of bype;
И для получения новых множеств используются операции + - *

Добавлено через 1 час 10 минут
Примерно так
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
uses crt;
type mnz=set of byte;
const n=40;
      m=20;
procedure init(var mn:mnz);
var i,k:byte;
begin
mn:=[];
for i:=1 to m do
 begin
  repeat
  k:=1+random(n);
  until not(k in mn);
  mn:=mn+[k];
 end;
end;
procedure print(mn:mnz;c:string);
var i:byte;
begin
writeln('Множество ',c);
for i:=1 to n do
if i in mn then write(i:4);
writeln
end;
var x,a,b,c,a1,res:mnz;
    i,k:byte;
begin
randomize;
x:=[1..n];
init(a);
init(b);
init(c);
print(x,'x');
print(a,'A');
print(b,'B');
print(c,'C');
a1:=x-a;
print(a1,'A1');
res:=a1*(b+c);
print(res,'A1*(B+C)');
end.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.09.2014, 09:43
Помогаю со студенческими работами здесь

Из заданного диапазона чисел выделить множества чисел, соответствующих заданным условиям
Нужна помощь осталась последняя задача и я не знаю как решить (Болел) Помогите ПЛЗ Из диапазона целых чисел m... n выделить: 1)...

Найдите произведение натуральных чисел из диапазона от 6 до -3
1. Выведите числа из диапазона от 20 до 3 в столбец. Затем выведите эти числа в порядке возрастания. Найдите сумму чисел кратных 3. ...

Задать соответствие и просчет диапазона чисел
Необходимо в таблице 1 задать соответствие чисел в желтых ячейках числам в белых при этом, для того чтобы не указывать все числа в...

Задать соответствие и просчет диапазона чисел
Необходимо в таблице 1 задать соответствие чисел в желтых ячейках числам в белых при этом, для того чтобы не указывать все числа в...

По теме множества.Из диапазона целых чисел m... n выделить
Помогите ПЛЗ Из диапазона целых чисел m... n выделить: 1) множество чисел, делящихся без остатка или на k, или на L (k, L — простые); ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru