Задание + уточнение ** фотографии

0 голосов
102 просмотров

Задание + уточнение на фотографии


image
image

Информатика (7.7k баллов) | 102 просмотров
0

P.S. Если решение на Паскале, комментарии НЕ обязательны

0

Не понячл, по какому принципу 1 и 2 отображаются в a, а 3 - в b ?

0

Как я поняла, это не существенно, может 1 и 2 отображаться в b, а 3 - отображаться в а, например. Или ещё как-то по-другому. На картинке просто как один из вариантов. Самое главное, чтобы каждому (!) иксу в соответствие ставился какой-то один (!) игрек

0

*любой игрек, но один (!)

0

Да нет в программировании операции "отобразить".

0

Любое соответствие двух множеств существует только в голове прграммиста, когда он эти связи строит и использует.

0

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

0

И тогда в РСУБД это будет отношение "один к одному".

Дан 1 ответ
0 голосов

===== PascalABC.NET =====

begin

 var m := ReadInteger('Мощность множества X:');

 var x := ReadArrInteger('Введите числовые элементы множества X:', m);

 Readln;

 var y := ReadString('Введите символьные элементы множества Y:')

     .Where(c -> c <> ' ').ToArray;

 Print('X:');

 foreach var a in X do

   Write(a:5);

 Writeln;

 Print('Y:');

 foreach var a in X do

   Write(y[a mod y.Length]:5)

end.


image
(1.6k баллов)
0

Хеширование. Возможно это то, что Вам надо. Попробуйте разные примеры

0

Судя по результату в окне вывода - да - это именно то, что нужно! Огромное спасибо!

0

Если множество Y будет меньше, чем Х, минимум одна пара из Х сошлется на один и тот же элемент Y

0

Немного подправил код, так лучше

0

Берем остаток от деления значения элемента х на мощность множества Y. И это дает порядеовый номер элемента y в массиве, имитирующем множество.