Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2016, 18:13   #1
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию Кто знает как делать это

Даны множества А и В. Они состоят из элементов, которые записаны в массиве С [1..N]. Вывести список всех различных и общих их элементов

Наперед спасибо тому кто поможет
Vika2016 вне форума Ответить с цитированием
Старый 25.02.2016, 22:36   #2
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию Даны множества А, В. Они состоят из элементов массива С [1..N]. Вывести список всех различных и общих их элементов

Что-то задание какое-то непонятное.
Для множества A и B в одном массиве. Это как?
Половина массива для множества А, половина для В?

Последний раз редактировалось Вадим Мошев; 26.02.2016 в 21:24.
dimon_snake вне форума Ответить с цитированием
Старый 25.02.2016, 23:34   #3
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию

Цитата:
Сообщение от dimon_snake Посмотреть сообщение
Что-то задание какое-то непонятное.
Для множества A и B в одном массиве. Это как?
Половина массива для множества А, половина для В?
без понятия как это))
Vika2016 вне форума Ответить с цитированием
Старый 25.02.2016, 23:46   #4
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Цитата:
Сообщение от Vika2016 Посмотреть сообщение
без понятия как это))
И как же это кто-то должен помочь, не зная нормального условия?
dimon_snake вне форума Ответить с цитированием
Старый 26.02.2016, 01:22   #5
Skittlies
Новичок
Джуниор
 
Регистрация: 22.02.2016
Сообщений: 2
По умолчанию

В принципе задание понятно, но зачем тогда множества A и B если одного множества C достаточно. Ну чё проходишь по массиву C при этом проходов нужно количество_элементов^2 и сравниваешь есть похожие то записываешь в доп массив, чтоб потом вывести, нет записываешь в другой чтоб вывести а потом выводишь.
Skittlies вне форума Ответить с цитированием
Старый 26.02.2016, 09:21   #6
CMY_3
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 38
По умолчанию

Код:
program work_prog;
{$mode fpc}
const
  Nm = 100;
var
  A, B, mn : set of byte;
  C : array[1..Nm] of byte;
  n,i : byte;
begin
  write('Размер массива <=',Nm,' n = '); readln(n);
  randomize;
  A:=[]; B:=[];
  writeln('Массив C:');
  for i := 1 to n do begin
    C[i]:=random(15);
    write(C[i]:3);
    if (i<=n div 2) then A := A + [C[i]]
    else B := B + [C[i]];
  end;
  writeln(#10,#13,'Множество А:');
  for i := 1 to 255 do
    if i in A then write(i:3);
  writeln(#10,#13,'Множество B:');
  for i := 1 to 255 do
    if i in B then write(i:3);
  mn := A * B;
  writeln(#10,#13,'Список общих элем:');
  for i := 1 to 255 do
    if i in mn then write(i:3);
  writeln(#10,#13,'Список различных элем:');
  mn := A - B;
  for i := 1 to 255 do
    if i in mn then write(i:3);
  mn := B - A;
  for i := 1 to 255 do
    if i in mn then write(i:3);
  readln;
end.
CMY_3 вне форума Ответить с цитированием
Старый 26.02.2016, 10:05   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

CMY_3, неплохо!

одно замечание.
у Вас random(15) может вернуть в числе прочих случайных чисел ноль.
А при выводе множеств ноль не учитывается.
Это ваш просчёт или это так и задумывалось?

может лучше:
Код:
  C[i]:=1+random(15);
и ещё вопрос.
А какое отношение к решению задачи имеет массив C ?
Какую он выполняет роль? Нет, я, конечно, понимаю, что он в задании присутствует, поэтому Вы его в программу добавили.
Но и там и там непонятно, какое он имеет отношение к множествам A и B
и у Вас по коду эта неясность остаётся.
Если его выкинуть, что изменится?

Последний раз редактировалось Serge_Bliznykov; 26.02.2016 в 10:09.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.02.2016, 11:42   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
А какое отношение к решению задачи имеет массив C ?
Какую он выполняет роль? Нет, я, конечно, понимаю, что он в задании присутствует, поэтому Вы его в программу добавили.
Но и там и там непонятно, какое он имеет отношение к множествам A и B
и у Вас по коду эта неясность остаётся.
Все по заданию - в задании не ясно, зачем нужен массив C, и в коде решения тоже не ясно, зачем он нужен. Тут зачет однозначно!
Arigato вне форума Ответить с цитированием
Старый 26.02.2016, 12:54   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Arigato, согласен. Однозначно - зачёт!

p.s. но огрех с потерей нуля я бы поправил!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.02.2016, 13:12   #10
CMY_3
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 38
По умолчанию

Цитата:
А какое отношение к решению задачи имеет массив C ?
Вроде как из элементов массива заполняются множества, так поставлено задание:
Цитата:
Даны множества А и В. Они состоят из элементов, которые записаны в массиве С [1..N].
Алгоритм заполнения не оговорен, поэтому сделал по-своему: первая половина элем массива в множ А, вторая в В, иначе без массива в задании должно было быть предусмотрено каким образом заполняются множества
С заполнением массива просчёт мой.
CMY_3 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
тема-кубик рубика!может кто-то знает как делать? сега21 Помощь студентам 1 20.05.2012 13:57
кто нибудь знает, как это работает? Акоб Свободное общение 17 07.02.2011 07:52
кто знает что это такое и как исправить? Yury111 Безопасность, Шифрование 4 17.06.2009 08:59