
ВУЗы и колледжи
Пожалуйста подскажите по заданию!!!
Помогите с кодом или хотя бы подскажите алгоритм. Не могу правильно понять задание...


Тебе надо в массив С занести все числа, которые одновременно встречаются и в массиве X и в массиве Y. При этом в массиве C значения чисел не должны повторяться (т. е. если в массиве X число 5 встречается 3 раза, а в массиве Y - 10 раз, то в массиве C число 5 должно быть записано один раз) и массив С должен быть отсортирован по убыванию.
Простейший вариант решения:
1. Сортируем массивы X и Y по убыванию.
2. Устанавливаем индексы xi, yi, ci на начальные элементы соотвествующих массивов.
3. Если xi или yi вышли за пределы своих массивов - конец работы программы
4. Сравниваем X[xi] и Y[yi]
5. Если X[xi] больше Y[yi] - увеличиваем xi на 1 и переходим к пункту 3.
6. Иначе если Y[yi] больше X[xi] - увеличиваем yi на 1 и переходим к пункту 3.
7. Иначе (X[xi] равно Y[yi]) заносим X[xi] в С [ci]; увеличиваем xi, пока xi не выходит за границу X и X[xi] равно C[ci]; увеличиваем yi, пока yi не выходит за границу Y и Y[yi] равно C[ci]; увеличиваем ci на 1 и переходим к пункту 3.
В результате в C получится сразу отсортированный по убыванию искомый массив.
Дело в том, что задача не требует создания функции поиска элемента. Более того, любой вариант решения, использующий поиск в линейном не отсортированном массиве, является заведомо неэффективным и потому в реальном программировании никогда использоваться не будет.
Простейший вариант решения:
1. Сортируем массивы X и Y по убыванию.
2. Устанавливаем индексы xi, yi, ci на начальные элементы соотвествующих массивов.
3. Если xi или yi вышли за пределы своих массивов - конец работы программы
4. Сравниваем X[xi] и Y[yi]
5. Если X[xi] больше Y[yi] - увеличиваем xi на 1 и переходим к пункту 3.
6. Иначе если Y[yi] больше X[xi] - увеличиваем yi на 1 и переходим к пункту 3.
7. Иначе (X[xi] равно Y[yi]) заносим X[xi] в С [ci]; увеличиваем xi, пока xi не выходит за границу X и X[xi] равно C[ci]; увеличиваем yi, пока yi не выходит за границу Y и Y[yi] равно C[ci]; увеличиваем ci на 1 и переходим к пункту 3.
В результате в C получится сразу отсортированный по убыванию искомый массив.
Дело в том, что задача не требует создания функции поиска элемента. Более того, любой вариант решения, использующий поиск в линейном не отсортированном массиве, является заведомо неэффективным и потому в реальном программировании никогда использоваться не будет.
попробуйте открыть учебник
Похожие вопросы
- Помогите пожалуйста решить 3 задания по английскому
- Пожалуйста, помогите решить задания по высшей математике! хоть-что-нибудь.. ))
- Пожалуйста помогите выполнить задание по английскому!!!
- Пожалуйста помогите сделать задание по английскому.
- Помогите пожалуйста со всеми заданиями
- Пожалуйста подскажите куда мне поступить после 11 класса на актёра !!!
- Пожалуйста подскажите Что такое СИНЕРГИЗМ?
- кто знает древнее население на территории Украины пожалуйста подскажите
- Пожалуйста подскажите маленькое сочинение в научном стиле на тему: "Что делает студент за 10 минут до начала занятия? "
- первая мировая война в произведение Б. Пастернака "Доктор Живаго" ,где можно найти? пожалуйста подскажите