Определить множество, которое содержит наибольшее количество элементов, которые есть в других множествах - PascalABC.NET
Формулировка задачи:
Дано N множеств. Определить множество, которое содержит наибольшее количество элементов, которые есть в других множествах.
Решение задачи: «Определить множество, которое содержит наибольшее количество элементов, которые есть в других множествах»
textual
Листинг программы
begin var tmp : Integer; var n := ReadLnInteger('n = '); var s : array of Set of Integer; SetLength(s, n); for var i := 0 to n-1 do begin var st := ReadLnString('Введите через пробел элементы ' + (i+1) + ' множества:'); foreach var tt : String in st.ToWords(' ') do if TryStrToInt(tt, tmp) then s[i] += [tmp]; end; WriteLn('Введены множества:'); foreach var st : Set of Integer in s do WriteLn(st); var maxcount := 0; var snumber := -1; for var i := 0 to n-1 do begin var count := 0; foreach tmp in s[0] do begin var find := false; for var j := 0 to n-1 do if i <> j then find := find or (tmp in s[j]); if find then count += 1; end; if count > maxcount then begin maxcount := count; snumber := i; end; end; WriteLn('Множество, которое содержит наибольшее количество элементов, которые есть в других множествах: ', s[snumber]); end.
Объяснение кода листинга программы
- Ввод количества множеств и их элементов
- Создание массива строк для хранения введенных множеств
- Чтение количества множеств
- Инициализация массива множеств
- Чтение элементов каждого множества
- Поиск наибольшего количества элементов во всех множествах
- Определение индекса множества с наибольшим количеством элементов
- Вывод результата
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д