|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.02.2015, 02:38 | #1 |
Регистрация: 28.11.2014
Сообщений: 5
|
Функция и одномерные массивы с условием
Доброй ночи.
Пожалуйста помогите Начали новую тему, но не могу понять, какой нужно написать алгоритм. Задача: Функция принимает два одномерных массива и выводит на экран все общие элементы. Функция должна вернуть true, в случае если общие элементы были найдены или false в противном случае P.S. Нужно использовать только #include <iostream> Извините, что без исходника. Вообще не пойму, что написать(((( |
04.02.2015, 08:50 | #2 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Я не знаю C и C++, но оптимальный алгоритм здесь однозначный:
1. Ввод массивов А и В. 2. Сортировка массивов А и В. 3. Просмотр массивов в двух параллельных циклах и вывод общих элементов. Свой Pascal-вариант приводить не буду из-за бесполезности. Но, полагаю, что плана действий уже достаточно для старта. |
04.02.2015, 09:25 | #3 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
я бы сортировал один. А из другого брал элементы и искал бинарным поиском
|
04.02.2015, 12:55 | #4 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Лучше оба. Тогда по мере "продвижения" меньше сравнений, можно пропускать одинаковые. Но это лишь мнение...
|
04.02.2015, 13:07 | #5 |
Регистрация: 28.11.2014
Сообщений: 5
|
Вот код, но выдает ошибки, а так вроде всё правильно, можете подправить? Но не используя оператор new
Код:
|
04.02.2015, 13:28 | #6 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
А ты не мог бы самостоятельно исправить ошибки? Там ведь о до компиляции не доходит. Мне просто тяжеловато бодаться с чуждым мне синтаксисом.
|
04.02.2015, 13:39 | #7 |
Регистрация: 28.11.2014
Сообщений: 5
|
Дело в том, что тему очень плохо понял и синтаксис, тут как раз для меня последняя преграда, не могу понять, как правильно всё оформить
|
04.02.2015, 13:48 | #8 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Я могу за тебя подучить синтаксис и исправить. Этот язык для меня новый. Где-то через 3-4 часа разберусь с сообщениями компилятора и даже сделаю твою лабу. Ты позволишь приступать?
Как я уже говорил, язык для меня новый. Поэтому я скопипастил простейшую сортировку на форуме и без ввода массивов продемонстрировал алгоритм. Получилось громоздко, но достаточно эффективно, особенно при наличии дублирующихся элементов. Код:
Последний раз редактировалось Stilet; 05.02.2015 в 07:50. |
04.02.2015, 19:15 | #9 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Тогда сложность двух сортировок : O(2*(n*log N)) И еще проход по двум массивам.. Тоесть всего O(2*(n*log N)+2*N) Мой вариант.. Сортировка одного O(n*log N) Бинарный поиск O(n*log N) Итого O(2n*logN) Посути алгоритмы одинаково эффективны |
|
04.02.2015, 22:35 | #10 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Да, более, чем согласен. Но есть два нюанса:
1. Ищем мы в отсортированном массиве A. А шаблон поиска берём из неупорядоченного B. Если в B есть дубликаты, да ещё и присутствующие в A, то они будут выведены несколько раз в хаотичном порядке. 2. Несмотря на простоту идеи бинарнрго поиска, он сложен в отладке - там есть нюансы. Помню, что долго не мог справится со строгими и нестрогими неравенствами. А наш ТС - ещё в синтаксисе "плавает". PS ТС, наверное, на мою издёвку обиделся, ушел и не приходит. Хотя, по моему мнению, школьники и студенты-далеко-не-программисты изучают Pascal и VBA. А С (С++) - уже другой уровень знаний (слишком сложный, хотя и эффективный язык). |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одномерные массивы, двумерные массивы, строки | Sand093 | C++ Builder | 11 | 20.05.2012 21:48 |
Нужна функция =сцепить(), только с условием | Snekich | Microsoft Office Excel | 8 | 20.11.2011 18:18 |
одномерные массивы | innaa639 | Помощь студентам | 7 | 18.10.2011 10:34 |
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент | LyaLya | Помощь студентам | 15 | 20.12.2009 14:12 |
C++/ Одномерные массивы | BennyBenassy | Общие вопросы C/C++ | 6 | 23.02.2009 14:27 |