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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2017, 22:03   #1
sweeetbear
Новичок
Джуниор
 
Регистрация: 22.06.2017
Сообщений: 1
По умолчанию Pascal. Некоторое число содержится в каждом из трех целочисленных неубывающих массивов x[1] <= ... <=x[p], y[1] <= ... <= y[q], z[1] <= ... <= z[r]. Найти одно из таких чисе

Помогите, пожалуйста, написать код с комментариями (не использовать метод бинарного поиска).
Задание: Некоторое число содержится в каждом из трех целочисленных неубывающих массивов
x[1] <= ... <=x[p], y[1] <= ... <= y[q], z[1] <= ... <= z[r]. Найти одно из таких чисел. Число действий должно быть порядка p + q + r.
sweeetbear вне форума Ответить с цитированием
Старый 22.06.2017, 22:29   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

покажите свои наработки, конкретные вопросы и т.п.

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.06.2017, 13:42   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

представим задачу так
Есть три ленты с записанными числами и есть три же окошка в которых мы можем наблюдать числа с этих лент
окошки могут двигаться по ленте влево-вправо или же из-за "относительности движения" можем считать что это движутся ленты в окнах вправо-влево(наоборот), а сами окна неподвижны относительны друг друга.
Код:
   1 2 | 3| 4 15  ---лента с числом 13 в окне | |
       |11| 12 13 15 
       |13| 14 15 
лентЫ это наши массивы x, y, z.
а окошки это номерА элементов xi, yi, zi
движение лент(окон) inc(xi); Dec(xi); ....
на самом деле нам потребуется только одно направление "вперед" Inc(xi); ==движение ленты влево

1.исходное положение. все окна показывают начальный элемент ленты
2.наблюдая три числа(в окнах) мы может сравнить их.
2.1.если все числа равны, задача решена.
2.2.два числа равны, а третье их меньше. (два минимальных)
2.3.два числа равны, а третье их больше. (одно минимальное)
2.4.все числа разные. (одно минимальное).
--
если есть минимальное (хотя бы одно), то учитывая упорядоченность, можно сказать что искомое число на этой ленте заведомо находится где-то дальше.
3.двигаем первую из лент с минимальным числом (см. 2.2) "вперед"
4. переходим к п.2.

ПЕРВЫЙ комментарий к программе есть.
http://www.gunsmoker.ru/2011/01/blog-post.html
пишем второй комментарий
---1.исходное положение. все окна показывают начальный элемент ленты
устанавливаем во ВСЕХ окнах начальныЕ элементЫ лент.
....
пишем последний комментарий ===КОД

P.S. все что здесь написано, это есть адаптация алгоритма сортировки слиянием
- на случай трех массивов;
- замена слияния на поиск(выбор) равного.
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В каждом из массивов X(Nx), Y(Ny) и Z(Nz) вещественных чисел найти среди отрицательных элементов максимальный элемент (элементы) и burn86 Общие вопросы по Java, Java SE, Kotlin 9 27.03.2015 12:30
некоторое число оканчивается на 2, если эту цифру переместить на первое место, то число удвоится. написать программу поиска числа Noob325 Помощь студентам 6 06.12.2012 10:39
Даны числовой ряд и некоторое число e>0. Найти сумму тех членов ряда, которые по модулю больше или равны e DevilSkyS Помощь студентам 4 04.12.2012 20:19
(PASCAL ABC)Дана Матрица, найти индексы всех эл-ов с наибольшим значением, если таких элементов несколько Grandhustla Помощь студентам 0 25.05.2011 16:06
C++. среднее арифметическое и минимальное и максимальное число последовательности дробных чисе ~Az@liya~ Помощь студентам 2 08.11.2010 18:07