Ребят, если не трудно решите или хотя бы "Разжуйте", на Паскале, полностью, а то в интернете решения непонятные, буду заранее очень сильно благодарен:
Даны два неубывающих массива x: a array[1..] of integer и y: array[1..i] of integer. Найти число различных элементов среди x[1], . x[k], y, . y[i]. (Число действий порядка k+1.) Буду очень благодарен. . .
Я начинающий программист, нашел действительно интересные задачки, а решить не могу, горю энтузиазмом, смотрю в Интернете, а там ничего не понятно. . .Поэтому и прошу решить на Паскале "Полностью".
Другие языки программирования и технологии
Паскаль, не трудная задачка, помогите начинающему программисту!
Если непонятны чужие решения, нужно придумать своё. Рекомендую. Чужие непонятные решения содержат ошибки, которые вы не заметите.
Попробую пояснить как можно проще. Сначала простая задача. Для детского сада.
Есть две детские пирамидки, состоящие из колец разной ширины на торчащий вверх спицах. Причём чем выше насажены кольца, тем они шире. То есть пирамидки собраны острым концом вниз. Нужно эти две пирамидки собрать в одну большую, но чтобы она была острым концом вверх.
Какой тут алгоритм: сравнить два самых верхних кольца в маленьких пирамидках и надеть на длинную спицу самую большую. Скоро кольца кончатся, а мы получим требуемый результат.
Пока всё просто, не так ли?
Теперь поясню, как эта задача связана с вашей.
Нам нужно посчитать число разных колец в большой пирамидке.
Вместо того, чтобы считать число разных, будем считать число дублирующих. То есть в тот момент, когда мы одеваем кольцо на длинную спицу, смотрим, не совпала ли она по размеру с уже имеющейся на ней. Если совпала, то оно - дублирующее, и к счетчику добавим 1.
Потом число дублей просто вычитается из общего числа колец.
Для решения задачи вам не нужно организовывать новый массив, достаточно помнить:
1. количество элементов-колец, которые мы сняли с каждой пирамидки-массива - два индекса
2. значение последнего "положенного" элемента-кольца
Нужно просто пробежаться индексами по каждому из массивов и запоминать/обновлять значение последнего "перемещенного" элемента. Потом, в зависимости от результатов сравнения, увеличить счетчик на 1.
Попробую пояснить как можно проще. Сначала простая задача. Для детского сада.
Есть две детские пирамидки, состоящие из колец разной ширины на торчащий вверх спицах. Причём чем выше насажены кольца, тем они шире. То есть пирамидки собраны острым концом вниз. Нужно эти две пирамидки собрать в одну большую, но чтобы она была острым концом вверх.
Какой тут алгоритм: сравнить два самых верхних кольца в маленьких пирамидках и надеть на длинную спицу самую большую. Скоро кольца кончатся, а мы получим требуемый результат.
Пока всё просто, не так ли?
Теперь поясню, как эта задача связана с вашей.
Нам нужно посчитать число разных колец в большой пирамидке.
Вместо того, чтобы считать число разных, будем считать число дублирующих. То есть в тот момент, когда мы одеваем кольцо на длинную спицу, смотрим, не совпала ли она по размеру с уже имеющейся на ней. Если совпала, то оно - дублирующее, и к счетчику добавим 1.
Потом число дублей просто вычитается из общего числа колец.
Для решения задачи вам не нужно организовывать новый массив, достаточно помнить:
1. количество элементов-колец, которые мы сняли с каждой пирамидки-массива - два индекса
2. значение последнего "положенного" элемента-кольца
Нужно просто пробежаться индексами по каждому из массивов и запоминать/обновлять значение последнего "перемещенного" элемента. Потом, в зависимости от результатов сравнения, увеличить счетчик на 1.
Каждый раз когда будет находиться число, соответствующее параметрам (можно перебрать все числа массивов) , увеличивай какую-то левую переменную на 1, как счетчик. Это и будет число элементов.
Похожие вопросы
- Помогите начинающему программисту.
- Помогите начинающему программисту, с чего начать?
- Помогите начинающему программисту!!!
- Помогите начинающему программисту!!!
- Помогите начинающему программисту.
- Вопрос программистам со стажем. Какой язык программирования учить начинающему программисту?
- Я начинающий программист, у меня нет никаких программ специальных типа Borland для использования их при написании прогр
- Выбор языка программирования, для начинающего программиста.
- Что нужно знать начинающему программисту?
- Как начинающему программисту развить абстрактно-логическое мышление?