Помощь - Поиск - Пользователи - Календарь
Полная версия: Число во всех строках
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
-Evgen-
Здравствуйте! Помогите пожалуйста разобраться с задачей. Вообще не понимаю чего требуется сделать wacko.gif :

Задан
целочисленный массив A[1..m,1..n]. Каждая
строка массива упорядочена по неубыванию, то
есть A[i,1] ? A[i,2] ? ... при всех i = 1,
... , m. Найти и напечатать число,
встречающееся во всех строках, если такого
числа не окажется, напечатать соответствующее
сообщение.
volvo
Если элементы имеют тип Byte (который, в принципе, тоже является целочисленным), то решение может быть таким:
common_set := [];
for j := 1 to n do include(common_set, a[1, j]);

for i := 2 to m do begin
curr_set := [];
for j := 1 to n do include(curr_set, a[i, j]);
common_set := common_set * curr_set;
end;

и потом анализируешь common_set (проверяешь его на пустоту). Если это множество - пустое, то нет чисел, содержащихся во всех строках. Иначе - все числа, входящие в common_set встречаются во ВСЕХ строках матрицы...

Если тип элементов матрицы другой - можно реализовать свой тип множества (через работу с битами) rolleyes.gif
Дож
Цитата
Помогите пожалуйста разобраться с задачей.

А разве эта тема не должна быть в разделе задач??? blink.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.