|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.09.2015, 09:21 | #1 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
найти в массиве пары чисел разность между которыми минимальна - C++
Дан двум. массив целых чисел(10х10). Найти в этом массиве пары чисел, разница между которыми минимальна.
Например, при вводе массива: 1 50 -3 2 3 4 Программа должна выводить: 1,2 ; 2,3 ; 3,4 |
20.09.2015, 09:41 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Показать код ввода массива хотя бы сможешь?
I'm learning to live...
|
20.09.2015, 09:47 | #3 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
Да, могу. Я просто не понимаю как реализовать эту программу
Код:
|
20.09.2015, 10:02 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
размеры массива небольшие, поэтому, я бы решал задачу за два полных прохода по массиву.
1-й проход. перебор всех элементов массива. Для каждого элемента массива перебираем все, расположенные правее по этой же строке и все по строках ниже текущей (считаем, что проходим по массиву слева направо и сверху вниз, как по обычному "бумажному" массиву). Для пары находим модуль разницы. Если она меньше, чем запомненная вначале (для простоты в начале разницу брать как разность любых двух элементов массива, например, первого и второго элемента первой строки: Код:
2-й проход. тот же самый перебор, что и в первом случае, но только если разница равна min, то выводим найденные значения. профит. |
20.09.2015, 10:04 | #5 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,964
|
Так не пишется, хотя, для студентов - простительно. Последняя строка, посто насмешила. Почему ввод данных, в конце цикла? Нет, Вы не подумайте, что я придираюсь. Просто, так не делают.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
20.09.2015, 10:09 | #6 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
Serge_Bliznykov, я так делала с самого начала, и почему-то программа выводила неверный результат. попробую еще раз.
|
20.09.2015, 10:10 | #7 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
Smitt&Wesson, нас так научили) скажите как делать правильно, пожалуйста
|
20.09.2015, 10:21 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
krasy, не слушайте Смитта, всё у Вас нормально! (сначала выводится "приглашение" - текст, какой элемент массива нужно ввести, потом, собственно, ввод элемента).
покажите свой код, как Вы пытались перебрать пары элементов, посмотрим, где Вы ошиблись. |
20.09.2015, 10:26 | #9 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
Код:
|
20.09.2015, 11:16 | #10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
И вообще, почему Вы вообще написали j+2 ?!! Откуда это волшебное число?! Можете не отвечать. Это риторический вопрос. Так делать нельзя, это неправильно! |
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на паскале: Разделить элементы массива на 2 группы так, что бы разность между ними была минимальна. | Rhc | Помощь студентам | 27 | 31.12.2013 15:04 |
Найти пары чисел | саша аврамов | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 20.02.2013 06:54 |
Нахождение в массиве одинаковой пары соседних чисел | mimit | Помощь студентам | 2 | 15.11.2012 11:15 |
Найти номера пары точек, расстояние между которыми наибольшее | evgenext | Помощь студентам | 1 | 02.07.2010 22:46 |
Найти номера пары точек, расстояние между которыми наибольшее | Nevis | Помощь студентам | 5 | 21.06.2009 23:37 |