![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
Дан двум. массив целых чисел(10х10). Найти в этом массиве пары чисел, разница между которыми минимальна.
Например, при вводе массива: 1 50 -3 2 3 4 Программа должна выводить: 1,2 ; 2,3 ; 3,4 |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Показать код ввода массива хотя бы сможешь?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
Да, могу. Я просто не понимаю как реализовать эту программу
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
размеры массива небольшие, поэтому, я бы решал задачу за два полных прохода по массиву.
1-й проход. перебор всех элементов массива. Для каждого элемента массива перебираем все, расположенные правее по этой же строке и все по строках ниже текущей (считаем, что проходим по массиву слева направо и сверху вниз, как по обычному "бумажному" массиву). Для пары находим модуль разницы. Если она меньше, чем запомненная вначале (для простоты в начале разницу брать как разность любых двух элементов массива, например, первого и второго элемента первой строки: Код:
2-й проход. тот же самый перебор, что и в первом случае, но только если разница равна min, то выводим найденные значения. профит. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Так не пишется, хотя, для студентов - простительно. Последняя строка, посто насмешила. Почему ввод данных, в конце цикла? Нет, Вы не подумайте, что я придираюсь. Просто, так не делают.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
Serge_Bliznykov, я так делала с самого начала, и почему-то программа выводила неверный результат. попробую еще раз.
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
Smitt&Wesson, нас так научили) скажите как делать правильно, пожалуйста
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
krasy, не слушайте Смитта, всё у Вас нормально! (сначала выводится "приглашение" - текст, какой элемент массива нужно ввести, потом, собственно, ввод элемента).
покажите свой код, как Вы пытались перебрать пары элементов, посмотрим, где Вы ошиблись. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]() Код:
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
И вообще, почему Вы вообще написали 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 |