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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2013, 03:49   #1
Sultanova
Пользователь
 
Аватар для Sultanova
 
Регистрация: 04.01.2013
Сообщений: 11
Радость c++. Задача на массивы

Дан массив А из N чисел. Определить два элемента массива A, расстояние между которыми на числовой оси минимально. Вывести индексы этих элементов (нумерация начинается с нуля).

Кто чем может помогите пожалуйста
Sultanova вне форума Ответить с цитированием
Старый 28.01.2013, 11:47   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
Вопрос

Цитата:
Сообщение от Sultanova Посмотреть сообщение
Определить два элемента массива A, расстояние между которыми на числовой оси минимально.
Этот момент не совсем понятен. Как заполняется массив и как выбираются элементы, расстояние между которыми нужно определять.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 28.01.2013, 12:04   #3
KooKish
Улыбаемся :)
Пользователь
 
Регистрация: 18.12.2012
Сообщений: 74
По умолчанию

Возможно вы имели ввиду "м\у 2 одинаковыми элементами ?" потому что иначе - 2 элемента, расстояние м\у которыми минимально - это все соседние элементы.
Не забываем про весы.
KooKish вне форума Ответить с цитированием
Старый 28.01.2013, 12:43   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Дан массив А из N чисел. Определить два элемента массива A, расстояние между которыми на числовой оси минимально.
Перевожу: найти пару элементов (x,y), такую, что |x-y| минимально среди всех пар элементов с различными индексами.

Действия:
1) Сделать массив B пар (число-индекс) из массива A.
2) Отсортировать массив B по числам.
3) Пройти по массиву B, отыскивая минимальную разность чисел и индекс первого элемента этой разности в массиве B.
4) Вывести индексы элементов.

Пример:
Код:
A: 22 6 9 24 12 73 0
Код:
B: (22,0) (6,1) (9,2) (24,3) (12,4) (73,5) (0,6)
Код:
Отсортированный B: (0,6) (6,1) (9,2) (12,4) (22,0) (24,3) (73,5)
Минимальная разность значений - B[4], B[5].
Индексы в массиве A - (0,3).
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на массивы Margosham-k Помощь студентам 4 08.04.2012 22:39
Задача на массивы Grabberhtf Помощь студентам 0 12.10.2010 07:06
Задача на массивы crew_92 Помощь студентам 3 28.12.2009 19:39
Задача на массивы lisapendrik Помощь студентам 1 06.11.2009 00:29
Задача на массивы С/C++ Nina+ Помощь студентам 10 12.03.2009 20:43