|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.11.2015, 19:30 | #1 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
Сортировка -ошибка:выход за пределы массива
Добрый день. Нужно выполнить сортировку подсчетом, при запуске программы выдает ошибку: индекс находился вне границы массива. Проблема может быть из-за того,что главный массив с числами имеет тип double. Подскажите пожалуйста,что исправить?Спасибо
Код:
|
19.11.2015, 19:40 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так а в массиве какие числа? Вы ж пытаетесь использовать значение элемента массива в качестве индекса. Видимо они не попадают в диапазон 0...arr.Length-1
Если это сортировка, то это вообще странная идея. Скорее всего вам что-то другое сделать надо было.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 19.11.2015 в 19:46. |
19.11.2015, 19:49 | #3 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
Вот функция ввода. Ввожу целые числа 3,9,7
Код:
|
19.11.2015, 19:53 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну так все три числа больше максимально допустимого индекса (2) в массиве из трех элементов.
Если это сортировка, то вам явно не надо ничего такого с ними делать, вы неправильно поняли алгоритм. Сортировки ж работают с любыми сравниваемыми элементами (например, строки), а не только с числами из диапазона 0...кол-во_элементов_-1
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
19.11.2015, 20:04 | #5 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
Не поняла,так как же тогда можно мне реализовать сортировку подсчетом? Говорили,что вообще к вещественным числам эта сортировка не применяется...
|
19.11.2015, 20:12 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
А, ну я думал там какая-нибудь более часто встречаемая сортировка, а не такая экзотика.
Тогда надо либо значения задавать в диапазоне от 0 до количество-1 (например 0, 2, 1) либо тут https://ru.wikipedia.org/wiki/%D0%A1...82%D0%BE%D0%BC внизу вроде есть пример с передачей параметров min и max для указания диапазона.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
19.11.2015, 20:30 | #7 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
Я думала применить приведение типов double к int,но не получается,ошибку выдает. Не знаете как исправить?
|
19.11.2015, 20:48 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Причем тут приведение. В предыдущем сообщении все написано.
(но вообще для не-целых при таком преобразовании оно не будет корректно сортировать для случаев когда одновременно есть числа типа 6.1 и 6.2)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
19.11.2015, 21:10 | #9 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
Решила все таки преобразовать базовый массив к int.Cоздала сначала новый массив а1,который хранит приведенные к int значения,потом создала вспомогательный массив уже для сортировки a2, а вот как начать эту сортировку не доходит, в конце проблема с a2[a1[i]] = a2[a1[i]] + 1; опять пишет что индекс за пределами массива,хотя я уже нашла максимальный элемент и в цикле он применен
Код:
|
19.11.2015, 21:24 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В сообщении #6 написано что надо делать для решения этой проблемы. Она не связана с обрезанием double до int.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выход за пределы массива | NFXrus | Помощь студентам | 10 | 09.12.2011 23:13 |
выход за пределы массива(с++) | Lazy maximka | Помощь студентам | 2 | 13.11.2011 16:11 |
ListBox, выход текста за пределы видимости | _-Re@l-_ | Общие вопросы Delphi | 3 | 31.08.2011 14:51 |
C++ выход за пределы строки (char) | Alex11223 | Помощь студентам | 4 | 20.04.2011 20:27 |
C++ - выход за пределы массива | kefir | Помощь студентам | 5 | 12.06.2010 14:09 |