лыс
1 / 1 / 0
Регистрация: 04.11.2012
Сообщений: 50
|
||||||
#1 | ||||||
исправить ошибки в коде - C++18.11.2012, 17:29. Просмотров 421. Ответов 8
Метки нет Все метки)
(
Помогите и исправьте ошибки в моём коде. Буду очень благодарен. Ссылка на условие задачи:
http://acm.timus.ru/problem.aspx?space=1&num=1880
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
18.11.2012, 17:29 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос исправить ошибки в коде (C++):
8
Найти ошибки в коде и исправить эти ошибки (Наследование) - C++ Найти ошибки в коде и исправить эти ошибки - C++ - C++ Найти ошибки в коде и исправить эти ошибки - C++ Исправить ошибки в коде - C++ Исправить ошибки в коде - C++ Исправить ошибки в коде - C++ |
Kreative
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 4
|
||||||
18.11.2012, 18:01 | #2 | |||||
вот рабочий вариант
0
|
лыс
1 / 1 / 0
Регистрация: 04.11.2012
Сообщений: 50
|
|
18.11.2012, 18:21 [ТС] | #3 |
А в чём вообще отличие? Запустил - выдаёт те же самые неправильные ответы
0
|
Kreative
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 4
|
||||||
18.11.2012, 18:36 | #4 | |||||
наличие
0
|
valeriikozlov
![]() 4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
|
|
18.11.2012, 18:55 | #5 |
это не панацея.
Там компилятор наоборот выдаст ошибку компиляции с такой строкой. Самая главная ошибка, то что под каждую команду выделяется всего 100 чисел, хотя по условию задачи их может быть до 4000. Поиск лучше вести не тремя вложенными циклами а бинарным поиском (ведь по условию задачи числа расположены в порядке возрастания)
1
|
лыс
1 / 1 / 0
Регистрация: 04.11.2012
Сообщений: 50
|
|
18.11.2012, 20:32 [ТС] | #6 |
valeriikozlov, а без бинарного способа моим способом(вложением циклов)можно решить? Изменил размер динамического массива до 4000, но всё равно программа не проходит даже первый тест. Подскажите, как можно написать программу без бинарного поиска.
0
|
valeriikozlov
![]() 4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
|
||||||
19.11.2012, 00:08 | #7 | |||||
бинарный поиск хорошо, но в данном случае и первый массив упорядочен по возрастанию, поэтому вот этот способ считаю одним из самых оптимальных для этой задачи:
1
|
лыс
1 / 1 / 0
Регистрация: 04.11.2012
Сообщений: 50
|
|
19.11.2012, 08:38 [ТС] | #8 |
Спасибо,valeriikozlov, программа прошла все 20 тестов (когда запускал свою выдавало почему-то "обращение по недоступному адресу в памяти" - не знаете, почему?)
0
|
valeriikozlov
![]() 4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
|
||||||
19.11.2012, 21:15 | #9 | |||||
насчет "обращение по недоступному адресу в памяти" могу только предположить: был выход за пределы массива (лучше покажите код, на который выдавалось такое сообщение, тогда подскажу точно).
У Вас в коде есть еще ошибка - никогда так не пишите: правильно так:
1
|
19.11.2012, 21:15 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
19.11.2012, 21:15 |
Привет! Вот еще темы с ответами:
9
Исправить ошибки в коде - C++ Исправить ошибки в коде - C++ Исправить ошибки в коде - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |